@loopstack/github-module 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/tools/actions/github-get-workflow-run.tool.d.ts +24 -2
- package/dist/tools/actions/github-get-workflow-run.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-get-workflow-run.tool.js +5 -6
- package/dist/tools/actions/github-get-workflow-run.tool.js.map +1 -1
- package/dist/tools/actions/github-list-workflow-runs.tool.d.ts +20 -2
- package/dist/tools/actions/github-list-workflow-runs.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-list-workflow-runs.tool.js +5 -6
- package/dist/tools/actions/github-list-workflow-runs.tool.js.map +1 -1
- package/dist/tools/actions/github-trigger-workflow.tool.d.ts +10 -2
- package/dist/tools/actions/github-trigger-workflow.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-trigger-workflow.tool.js +5 -6
- package/dist/tools/actions/github-trigger-workflow.tool.js.map +1 -1
- package/dist/tools/content/github-create-or-update-file.tool.d.ts +18 -2
- package/dist/tools/content/github-create-or-update-file.tool.d.ts.map +1 -1
- package/dist/tools/content/github-create-or-update-file.tool.js +5 -6
- package/dist/tools/content/github-create-or-update-file.tool.js.map +1 -1
- package/dist/tools/content/github-get-commit.tool.d.ts +35 -2
- package/dist/tools/content/github-get-commit.tool.d.ts.map +1 -1
- package/dist/tools/content/github-get-commit.tool.js +5 -6
- package/dist/tools/content/github-get-commit.tool.js.map +1 -1
- package/dist/tools/content/github-get-file-content.tool.d.ts +17 -2
- package/dist/tools/content/github-get-file-content.tool.d.ts.map +1 -1
- package/dist/tools/content/github-get-file-content.tool.js +5 -6
- package/dist/tools/content/github-get-file-content.tool.js.map +1 -1
- package/dist/tools/content/github-list-directory.tool.d.ts +15 -2
- package/dist/tools/content/github-list-directory.tool.d.ts.map +1 -1
- package/dist/tools/content/github-list-directory.tool.js +5 -6
- package/dist/tools/content/github-list-directory.tool.js.map +1 -1
- package/dist/tools/issues/github-create-issue-comment.tool.d.ts +14 -2
- package/dist/tools/issues/github-create-issue-comment.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-create-issue-comment.tool.js +5 -6
- package/dist/tools/issues/github-create-issue-comment.tool.js.map +1 -1
- package/dist/tools/issues/github-create-issue.tool.d.ts +15 -2
- package/dist/tools/issues/github-create-issue.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-create-issue.tool.js +5 -6
- package/dist/tools/issues/github-create-issue.tool.js.map +1 -1
- package/dist/tools/issues/github-get-issue.tool.d.ts +24 -2
- package/dist/tools/issues/github-get-issue.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-get-issue.tool.js +5 -6
- package/dist/tools/issues/github-get-issue.tool.js.map +1 -1
- package/dist/tools/issues/github-list-issues.tool.d.ts +20 -2
- package/dist/tools/issues/github-list-issues.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-list-issues.tool.js +5 -6
- package/dist/tools/issues/github-list-issues.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-create-pull-request.tool.d.ts +16 -2
- package/dist/tools/pull-requests/github-create-pull-request.tool.d.ts.map +1 -1
- package/dist/tools/pull-requests/github-create-pull-request.tool.js +5 -6
- package/dist/tools/pull-requests/github-create-pull-request.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-get-pull-request.tool.d.ts +31 -2
- package/dist/tools/pull-requests/github-get-pull-request.tool.d.ts.map +1 -1
- package/dist/tools/pull-requests/github-get-pull-request.tool.js +5 -6
- package/dist/tools/pull-requests/github-get-pull-request.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-list-pr-reviews.tool.d.ts +16 -2
- package/dist/tools/pull-requests/github-list-pr-reviews.tool.d.ts.map +1 -1
- package/dist/tools/pull-requests/github-list-pr-reviews.tool.js +5 -6
- package/dist/tools/pull-requests/github-list-pr-reviews.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-list-pull-requests.tool.d.ts +21 -2
- package/dist/tools/pull-requests/github-list-pull-requests.tool.d.ts.map +1 -1
- package/dist/tools/pull-requests/github-list-pull-requests.tool.js +5 -6
- package/dist/tools/pull-requests/github-list-pull-requests.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-merge-pull-request.tool.d.ts +13 -2
- package/dist/tools/pull-requests/github-merge-pull-request.tool.d.ts.map +1 -1
- package/dist/tools/pull-requests/github-merge-pull-request.tool.js +5 -6
- package/dist/tools/pull-requests/github-merge-pull-request.tool.js.map +1 -1
- package/dist/tools/repos/github-create-repo.tool.d.ts +15 -2
- package/dist/tools/repos/github-create-repo.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-create-repo.tool.js +5 -6
- package/dist/tools/repos/github-create-repo.tool.js.map +1 -1
- package/dist/tools/repos/github-get-repo.tool.d.ts +26 -2
- package/dist/tools/repos/github-get-repo.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-get-repo.tool.js +5 -6
- package/dist/tools/repos/github-get-repo.tool.js.map +1 -1
- package/dist/tools/repos/github-list-branches.tool.d.ts +12 -2
- package/dist/tools/repos/github-list-branches.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-list-branches.tool.js +5 -6
- package/dist/tools/repos/github-list-branches.tool.js.map +1 -1
- package/dist/tools/repos/github-list-repos.tool.d.ts +19 -2
- package/dist/tools/repos/github-list-repos.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-list-repos.tool.js +5 -6
- package/dist/tools/repos/github-list-repos.tool.js.map +1 -1
- package/dist/tools/search/github-search-code.tool.d.ts +15 -2
- package/dist/tools/search/github-search-code.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-code.tool.js +5 -6
- package/dist/tools/search/github-search-code.tool.js.map +1 -1
- package/dist/tools/search/github-search-issues.tool.d.ts +20 -2
- package/dist/tools/search/github-search-issues.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-issues.tool.js +5 -6
- package/dist/tools/search/github-search-issues.tool.js.map +1 -1
- package/dist/tools/search/github-search-repos.tool.d.ts +20 -3
- package/dist/tools/search/github-search-repos.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-repos.tool.js +5 -6
- package/dist/tools/search/github-search-repos.tool.js.map +1 -1
- package/dist/tools/users/github-get-authenticated-user.tool.d.ts +20 -2
- package/dist/tools/users/github-get-authenticated-user.tool.d.ts.map +1 -1
- package/dist/tools/users/github-get-authenticated-user.tool.js +5 -6
- package/dist/tools/users/github-get-authenticated-user.tool.js.map +1 -1
- package/dist/tools/users/github-list-user-orgs.tool.d.ts +13 -2
- package/dist/tools/users/github-list-user-orgs.tool.d.ts.map +1 -1
- package/dist/tools/users/github-list-user-orgs.tool.js +5 -6
- package/dist/tools/users/github-list-user-orgs.tool.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
owner: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
6
7
|
pullNumber: z.ZodNumber;
|
|
7
8
|
}, z.core.$strict>;
|
|
8
9
|
export type GitHubListPrReviewsArgs = z.infer<typeof inputSchema>;
|
|
9
|
-
export
|
|
10
|
+
export type GitHubListPrReviewsResult = {
|
|
11
|
+
reviews: Array<{
|
|
12
|
+
id: number;
|
|
13
|
+
user: string;
|
|
14
|
+
body: string;
|
|
15
|
+
state: string;
|
|
16
|
+
submittedAt: string;
|
|
17
|
+
htmlUrl: string;
|
|
18
|
+
}>;
|
|
19
|
+
} | {
|
|
20
|
+
error: string;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
export declare class GitHubListPrReviewsTool extends BaseTool<GitHubListPrReviewsArgs, object, GitHubListPrReviewsResult> {
|
|
10
24
|
private readonly logger;
|
|
11
25
|
private tokenStore;
|
|
12
|
-
|
|
26
|
+
protected handle(args: GitHubListPrReviewsArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubListPrReviewsResult>>;
|
|
13
27
|
}
|
|
14
28
|
export {};
|
|
15
29
|
//# sourceMappingURL=github-list-pr-reviews.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-pr-reviews.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pr-reviews.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-pr-reviews.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pr-reviews.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;kBAMN,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAElE,MAAM,MAAM,yBAAyB,GACjC;IACE,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ,GACD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,qBAMa,uBAAwB,SAAQ,QAAQ,CAAC,uBAAuB,EAAE,MAAM,EAAE,yBAAyB,CAAC;IAC/G,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAGnE,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CACpB,IAAI,EAAE,uBAAuB,EAC7B,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;CAgElD"}
|
|
@@ -22,8 +22,8 @@ const inputSchema = z
|
|
|
22
22
|
let GitHubListPrReviewsTool = GitHubListPrReviewsTool_1 = class GitHubListPrReviewsTool extends BaseTool {
|
|
23
23
|
logger = new Logger(GitHubListPrReviewsTool_1.name);
|
|
24
24
|
tokenStore;
|
|
25
|
-
async
|
|
26
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
25
|
+
async handle(args, ctx) {
|
|
26
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
27
27
|
if (!accessToken) {
|
|
28
28
|
return {
|
|
29
29
|
data: {
|
|
@@ -41,7 +41,7 @@ let GitHubListPrReviewsTool = GitHubListPrReviewsTool_1 = class GitHubListPrRevi
|
|
|
41
41
|
},
|
|
42
42
|
});
|
|
43
43
|
if (response.status === 401 || response.status === 403) {
|
|
44
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
44
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
45
45
|
return {
|
|
46
46
|
data: {
|
|
47
47
|
error: '401',
|
|
@@ -79,9 +79,8 @@ __decorate([
|
|
|
79
79
|
], GitHubListPrReviewsTool.prototype, "tokenStore", void 0);
|
|
80
80
|
GitHubListPrReviewsTool = GitHubListPrReviewsTool_1 = __decorate([
|
|
81
81
|
Tool({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
},
|
|
82
|
+
name: 'github_list_pr_reviews',
|
|
83
|
+
description: 'Lists reviews on a GitHub pull request. Returns { error: "unauthorized" } if no valid token is available.',
|
|
85
84
|
schema: inputSchema,
|
|
86
85
|
})
|
|
87
86
|
], GitHubListPrReviewsTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-pr-reviews.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pr-reviews.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-pr-reviews.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pr-reviews.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
owner: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
@@ -13,10 +14,28 @@ declare const inputSchema: z.ZodObject<{
|
|
|
13
14
|
page: z.ZodDefault<z.ZodNumber>;
|
|
14
15
|
}, z.core.$strict>;
|
|
15
16
|
export type GitHubListPullRequestsArgs = z.input<typeof inputSchema>;
|
|
16
|
-
export
|
|
17
|
+
export type GitHubListPullRequestsResult = {
|
|
18
|
+
pullRequests?: Array<{
|
|
19
|
+
id: number;
|
|
20
|
+
number: number;
|
|
21
|
+
title: string;
|
|
22
|
+
state: string;
|
|
23
|
+
user: string;
|
|
24
|
+
head: string;
|
|
25
|
+
headSha: string;
|
|
26
|
+
base: string;
|
|
27
|
+
createdAt: string;
|
|
28
|
+
updatedAt: string;
|
|
29
|
+
htmlUrl: string;
|
|
30
|
+
draft: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
error?: string;
|
|
33
|
+
message?: string;
|
|
34
|
+
};
|
|
35
|
+
export declare class GitHubListPullRequestsTool extends BaseTool<GitHubListPullRequestsArgs, object, GitHubListPullRequestsResult> {
|
|
17
36
|
private readonly logger;
|
|
18
37
|
private tokenStore;
|
|
19
|
-
|
|
38
|
+
protected handle(args: GitHubListPullRequestsArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubListPullRequestsResult>>;
|
|
20
39
|
}
|
|
21
40
|
export {};
|
|
22
41
|
//# sourceMappingURL=github-list-pull-requests.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-pull-requests.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pull-requests.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-pull-requests.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pull-requests.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;;;;;;;;kBASN,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErE,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAMa,0BAA2B,SAAQ,QAAQ,CACtD,0BAA0B,EAC1B,MAAM,EACN,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IAGtE,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CACpB,IAAI,EAAE,0BAA0B,EAChC,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;CAmFrD"}
|
|
@@ -25,8 +25,8 @@ const inputSchema = z
|
|
|
25
25
|
let GitHubListPullRequestsTool = GitHubListPullRequestsTool_1 = class GitHubListPullRequestsTool extends BaseTool {
|
|
26
26
|
logger = new Logger(GitHubListPullRequestsTool_1.name);
|
|
27
27
|
tokenStore;
|
|
28
|
-
async
|
|
29
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
28
|
+
async handle(args, ctx) {
|
|
29
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
30
30
|
if (!accessToken) {
|
|
31
31
|
return {
|
|
32
32
|
data: {
|
|
@@ -51,7 +51,7 @@ let GitHubListPullRequestsTool = GitHubListPullRequestsTool_1 = class GitHubList
|
|
|
51
51
|
},
|
|
52
52
|
});
|
|
53
53
|
if (response.status === 401 || response.status === 403) {
|
|
54
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
54
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
55
55
|
return {
|
|
56
56
|
data: {
|
|
57
57
|
error: '401',
|
|
@@ -95,9 +95,8 @@ __decorate([
|
|
|
95
95
|
], GitHubListPullRequestsTool.prototype, "tokenStore", void 0);
|
|
96
96
|
GitHubListPullRequestsTool = GitHubListPullRequestsTool_1 = __decorate([
|
|
97
97
|
Tool({
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
},
|
|
98
|
+
name: 'github_list_pull_requests',
|
|
99
|
+
description: 'Lists pull requests for a GitHub repository. Returns { error: "unauthorized" } if no valid token is available.',
|
|
101
100
|
schema: inputSchema,
|
|
102
101
|
})
|
|
103
102
|
], GitHubListPullRequestsTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-pull-requests.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pull-requests.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-pull-requests.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-list-pull-requests.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
owner: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
@@ -13,10 +14,20 @@ declare const inputSchema: z.ZodObject<{
|
|
|
13
14
|
commitMessage: z.ZodOptional<z.ZodString>;
|
|
14
15
|
}, z.core.$strict>;
|
|
15
16
|
export type GitHubMergePullRequestArgs = z.input<typeof inputSchema>;
|
|
16
|
-
export
|
|
17
|
+
export type GitHubMergePullRequestResult = {
|
|
18
|
+
merge: {
|
|
19
|
+
sha: string;
|
|
20
|
+
merged: boolean;
|
|
21
|
+
message: string;
|
|
22
|
+
};
|
|
23
|
+
} | {
|
|
24
|
+
error: string;
|
|
25
|
+
message: string;
|
|
26
|
+
};
|
|
27
|
+
export declare class GitHubMergePullRequestTool extends BaseTool<GitHubMergePullRequestArgs, object, GitHubMergePullRequestResult> {
|
|
17
28
|
private readonly logger;
|
|
18
29
|
private tokenStore;
|
|
19
|
-
|
|
30
|
+
protected handle(args: GitHubMergePullRequestArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubMergePullRequestResult>>;
|
|
20
31
|
}
|
|
21
32
|
export {};
|
|
22
33
|
//# sourceMappingURL=github-merge-pull-request.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-merge-pull-request.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-merge-pull-request.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-merge-pull-request.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-merge-pull-request.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;;;;;;;;kBASN,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErE,MAAM,MAAM,4BAA4B,GACpC;IACE,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,GACD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,qBAKa,0BAA2B,SAAQ,QAAQ,CACtD,0BAA0B,EAC1B,MAAM,EACN,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IAGtE,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CACpB,IAAI,EAAE,0BAA0B,EAChC,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;CAoErD"}
|
|
@@ -25,8 +25,8 @@ const inputSchema = z
|
|
|
25
25
|
let GitHubMergePullRequestTool = GitHubMergePullRequestTool_1 = class GitHubMergePullRequestTool extends BaseTool {
|
|
26
26
|
logger = new Logger(GitHubMergePullRequestTool_1.name);
|
|
27
27
|
tokenStore;
|
|
28
|
-
async
|
|
29
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
28
|
+
async handle(args, ctx) {
|
|
29
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
30
30
|
if (!accessToken) {
|
|
31
31
|
return {
|
|
32
32
|
data: {
|
|
@@ -54,7 +54,7 @@ let GitHubMergePullRequestTool = GitHubMergePullRequestTool_1 = class GitHubMerg
|
|
|
54
54
|
body: JSON.stringify(requestBody),
|
|
55
55
|
});
|
|
56
56
|
if (response.status === 401 || response.status === 403) {
|
|
57
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
57
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
58
58
|
return {
|
|
59
59
|
data: {
|
|
60
60
|
error: '401',
|
|
@@ -90,9 +90,8 @@ __decorate([
|
|
|
90
90
|
], GitHubMergePullRequestTool.prototype, "tokenStore", void 0);
|
|
91
91
|
GitHubMergePullRequestTool = GitHubMergePullRequestTool_1 = __decorate([
|
|
92
92
|
Tool({
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
93
|
+
name: 'github_merge_pull_request',
|
|
94
|
+
description: 'Merges a GitHub pull request. Returns { error: "unauthorized" } if no valid token is available.',
|
|
96
95
|
schema: inputSchema,
|
|
97
96
|
})
|
|
98
97
|
], GitHubMergePullRequestTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-merge-pull-request.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-merge-pull-request.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-merge-pull-request.tool.js","sourceRoot":"","sources":["../../../src/tools/pull-requests/github-merge-pull-request.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
name: z.ZodString;
|
|
5
6
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -7,10 +8,22 @@ declare const inputSchema: z.ZodObject<{
|
|
|
7
8
|
autoInit: z.ZodDefault<z.ZodBoolean>;
|
|
8
9
|
}, z.core.$strict>;
|
|
9
10
|
export type GitHubCreateRepoArgs = z.input<typeof inputSchema>;
|
|
10
|
-
export
|
|
11
|
+
export type GitHubCreateRepoResult = {
|
|
12
|
+
repo?: {
|
|
13
|
+
id: number;
|
|
14
|
+
fullName: string;
|
|
15
|
+
name: string;
|
|
16
|
+
htmlUrl: string;
|
|
17
|
+
private: boolean;
|
|
18
|
+
defaultBranch: string;
|
|
19
|
+
};
|
|
20
|
+
error?: string;
|
|
21
|
+
message?: string;
|
|
22
|
+
};
|
|
23
|
+
export declare class GitHubCreateRepoTool extends BaseTool<GitHubCreateRepoArgs, object, GitHubCreateRepoResult> {
|
|
11
24
|
private readonly logger;
|
|
12
25
|
private tokenStore;
|
|
13
|
-
|
|
26
|
+
protected handle(args: GitHubCreateRepoArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubCreateRepoResult>>;
|
|
14
27
|
}
|
|
15
28
|
export {};
|
|
16
29
|
//# sourceMappingURL=github-create-repo.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-create-repo.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-create-repo.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-create-repo.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-create-repo.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;;kBAON,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAMa,oBAAqB,SAAQ,QAAQ,CAAC,oBAAoB,EAAE,MAAM,EAAE,sBAAsB,CAAC;IACtG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAGhE,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CACpB,IAAI,EAAE,oBAAoB,EAC1B,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;CA0E/C"}
|
|
@@ -23,8 +23,8 @@ const inputSchema = z
|
|
|
23
23
|
let GitHubCreateRepoTool = GitHubCreateRepoTool_1 = class GitHubCreateRepoTool extends BaseTool {
|
|
24
24
|
logger = new Logger(GitHubCreateRepoTool_1.name);
|
|
25
25
|
tokenStore;
|
|
26
|
-
async
|
|
27
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
26
|
+
async handle(args, ctx) {
|
|
27
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
28
28
|
if (!accessToken) {
|
|
29
29
|
return {
|
|
30
30
|
data: {
|
|
@@ -51,7 +51,7 @@ let GitHubCreateRepoTool = GitHubCreateRepoTool_1 = class GitHubCreateRepoTool e
|
|
|
51
51
|
body: JSON.stringify(body),
|
|
52
52
|
});
|
|
53
53
|
if (response.status === 401 || response.status === 403) {
|
|
54
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
54
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
55
55
|
return {
|
|
56
56
|
data: {
|
|
57
57
|
error: '401',
|
|
@@ -90,9 +90,8 @@ __decorate([
|
|
|
90
90
|
], GitHubCreateRepoTool.prototype, "tokenStore", void 0);
|
|
91
91
|
GitHubCreateRepoTool = GitHubCreateRepoTool_1 = __decorate([
|
|
92
92
|
Tool({
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
93
|
+
name: 'github_create_repo',
|
|
94
|
+
description: 'Creates a new GitHub repository for the authenticated user. Returns { error: "unauthorized" } if no valid token is available.',
|
|
96
95
|
schema: inputSchema,
|
|
97
96
|
})
|
|
98
97
|
], GitHubCreateRepoTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-create-repo.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-create-repo.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-create-repo.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-create-repo.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,38 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
owner: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
6
7
|
}, z.core.$strict>;
|
|
7
8
|
export type GitHubGetRepoArgs = z.infer<typeof inputSchema>;
|
|
8
|
-
export
|
|
9
|
+
export type GitHubGetRepoResult = {
|
|
10
|
+
repo?: {
|
|
11
|
+
id: number;
|
|
12
|
+
fullName: string;
|
|
13
|
+
name: string;
|
|
14
|
+
owner: string;
|
|
15
|
+
ownerAvatar: string;
|
|
16
|
+
private: boolean;
|
|
17
|
+
htmlUrl: string;
|
|
18
|
+
description: string | null;
|
|
19
|
+
language: string | null;
|
|
20
|
+
defaultBranch: string;
|
|
21
|
+
stars: number;
|
|
22
|
+
forks: number;
|
|
23
|
+
openIssues: number;
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
topics: string[];
|
|
27
|
+
license: string | null;
|
|
28
|
+
};
|
|
29
|
+
error?: string;
|
|
30
|
+
message?: string;
|
|
31
|
+
};
|
|
32
|
+
export declare class GitHubGetRepoTool extends BaseTool<GitHubGetRepoArgs, object, GitHubGetRepoResult> {
|
|
9
33
|
private readonly logger;
|
|
10
34
|
private tokenStore;
|
|
11
|
-
|
|
35
|
+
protected handle(args: GitHubGetRepoArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubGetRepoResult>>;
|
|
12
36
|
}
|
|
13
37
|
export {};
|
|
14
38
|
//# sourceMappingURL=github-get-repo.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-get-repo.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-get-repo.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-get-repo.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-get-repo.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAMa,iBAAkB,SAAQ,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,CAAC;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAG7D,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;CAuFjH"}
|
|
@@ -21,8 +21,8 @@ const inputSchema = z
|
|
|
21
21
|
let GitHubGetRepoTool = GitHubGetRepoTool_1 = class GitHubGetRepoTool extends BaseTool {
|
|
22
22
|
logger = new Logger(GitHubGetRepoTool_1.name);
|
|
23
23
|
tokenStore;
|
|
24
|
-
async
|
|
25
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
24
|
+
async handle(args, ctx) {
|
|
25
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
26
26
|
if (!accessToken) {
|
|
27
27
|
return {
|
|
28
28
|
data: {
|
|
@@ -39,7 +39,7 @@ let GitHubGetRepoTool = GitHubGetRepoTool_1 = class GitHubGetRepoTool extends Ba
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
if (response.status === 401 || response.status === 403) {
|
|
42
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
42
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
43
43
|
return {
|
|
44
44
|
data: {
|
|
45
45
|
error: '401',
|
|
@@ -89,9 +89,8 @@ __decorate([
|
|
|
89
89
|
], GitHubGetRepoTool.prototype, "tokenStore", void 0);
|
|
90
90
|
GitHubGetRepoTool = GitHubGetRepoTool_1 = __decorate([
|
|
91
91
|
Tool({
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
92
|
+
name: 'github_get_repo',
|
|
93
|
+
description: 'Gets detailed information about a specific GitHub repository. Returns { error: "unauthorized" } if no valid token is available.',
|
|
95
94
|
schema: inputSchema,
|
|
96
95
|
})
|
|
97
96
|
], GitHubGetRepoTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-get-repo.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-get-repo.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-get-repo.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-get-repo.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
owner: z.ZodString;
|
|
5
6
|
repo: z.ZodString;
|
|
6
7
|
perPage: z.ZodDefault<z.ZodNumber>;
|
|
7
8
|
}, z.core.$strict>;
|
|
8
9
|
export type GitHubListBranchesArgs = z.input<typeof inputSchema>;
|
|
9
|
-
export
|
|
10
|
+
export type GitHubListBranchesResult = {
|
|
11
|
+
branches?: Array<{
|
|
12
|
+
name: string;
|
|
13
|
+
commitSha: string;
|
|
14
|
+
protected: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
error?: string;
|
|
17
|
+
message?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare class GitHubListBranchesTool extends BaseTool<GitHubListBranchesArgs, object, GitHubListBranchesResult> {
|
|
10
20
|
private readonly logger;
|
|
11
21
|
private tokenStore;
|
|
12
|
-
|
|
22
|
+
protected handle(args: GitHubListBranchesArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubListBranchesResult>>;
|
|
13
23
|
}
|
|
14
24
|
export {};
|
|
15
25
|
//# sourceMappingURL=github-list-branches.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-branches.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-list-branches.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-branches.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-list-branches.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;kBAMN,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAMa,sBAAuB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,MAAM,EAAE,wBAAwB,CAAC;IAC5G,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAGlE,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CACpB,IAAI,EAAE,sBAAsB,EAC5B,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;CA8DjD"}
|
|
@@ -22,8 +22,8 @@ const inputSchema = z
|
|
|
22
22
|
let GitHubListBranchesTool = GitHubListBranchesTool_1 = class GitHubListBranchesTool extends BaseTool {
|
|
23
23
|
logger = new Logger(GitHubListBranchesTool_1.name);
|
|
24
24
|
tokenStore;
|
|
25
|
-
async
|
|
26
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
25
|
+
async handle(args, ctx) {
|
|
26
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
27
27
|
if (!accessToken) {
|
|
28
28
|
return {
|
|
29
29
|
data: {
|
|
@@ -44,7 +44,7 @@ let GitHubListBranchesTool = GitHubListBranchesTool_1 = class GitHubListBranches
|
|
|
44
44
|
},
|
|
45
45
|
});
|
|
46
46
|
if (response.status === 401 || response.status === 403) {
|
|
47
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
47
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
48
48
|
return {
|
|
49
49
|
data: {
|
|
50
50
|
error: '401',
|
|
@@ -79,9 +79,8 @@ __decorate([
|
|
|
79
79
|
], GitHubListBranchesTool.prototype, "tokenStore", void 0);
|
|
80
80
|
GitHubListBranchesTool = GitHubListBranchesTool_1 = __decorate([
|
|
81
81
|
Tool({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
},
|
|
82
|
+
name: 'github_list_branches',
|
|
83
|
+
description: 'Lists branches for a GitHub repository. Returns { error: "unauthorized" } if no valid token is available.',
|
|
85
84
|
schema: inputSchema,
|
|
86
85
|
})
|
|
87
86
|
], GitHubListBranchesTool);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-branches.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-list-branches.tool.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-branches.tool.js","sourceRoot":"","sources":["../../../src/tools/repos/github-list-branches.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { BaseTool, ToolResult } from '@loopstack/common';
|
|
3
|
+
import type { LoopstackContext } from '@loopstack/common';
|
|
3
4
|
declare const inputSchema: z.ZodObject<{
|
|
4
5
|
visibility: z.ZodDefault<z.ZodEnum<{
|
|
5
6
|
all: "all";
|
|
@@ -16,10 +17,26 @@ declare const inputSchema: z.ZodObject<{
|
|
|
16
17
|
page: z.ZodDefault<z.ZodNumber>;
|
|
17
18
|
}, z.core.$strict>;
|
|
18
19
|
export type GitHubListReposArgs = z.input<typeof inputSchema>;
|
|
19
|
-
export
|
|
20
|
+
export type GitHubListReposResult = {
|
|
21
|
+
repos?: Array<{
|
|
22
|
+
id: number;
|
|
23
|
+
fullName: string;
|
|
24
|
+
name: string;
|
|
25
|
+
owner: string;
|
|
26
|
+
private: boolean;
|
|
27
|
+
htmlUrl: string;
|
|
28
|
+
description: string | null;
|
|
29
|
+
language: string | null;
|
|
30
|
+
defaultBranch: string;
|
|
31
|
+
updatedAt: string;
|
|
32
|
+
}>;
|
|
33
|
+
error?: string;
|
|
34
|
+
message?: string;
|
|
35
|
+
};
|
|
36
|
+
export declare class GitHubListReposTool extends BaseTool<GitHubListReposArgs, object, GitHubListReposResult> {
|
|
20
37
|
private readonly logger;
|
|
21
38
|
private tokenStore;
|
|
22
|
-
|
|
39
|
+
protected handle(args: GitHubListReposArgs, ctx: LoopstackContext): Promise<ToolResult<GitHubListReposResult>>;
|
|
23
40
|
}
|
|
24
41
|
export {};
|
|
25
42
|
//# sourceMappingURL=github-list-repos.tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-list-repos.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-list-repos.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"github-list-repos.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/repos/github-list-repos.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAQ,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,QAAA,MAAM,WAAW;;;;;;;;;;;;;;kBAON,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAMa,mBAAoB,SAAQ,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,qBAAqB,CAAC;IACnG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAG/D,OAAO,CAAC,UAAU,CAAkB;cAEpB,MAAM,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;CA8ErH"}
|
|
@@ -23,8 +23,8 @@ const inputSchema = z
|
|
|
23
23
|
let GitHubListReposTool = GitHubListReposTool_1 = class GitHubListReposTool extends BaseTool {
|
|
24
24
|
logger = new Logger(GitHubListReposTool_1.name);
|
|
25
25
|
tokenStore;
|
|
26
|
-
async
|
|
27
|
-
const accessToken = await this.tokenStore.getValidAccessToken(
|
|
26
|
+
async handle(args, ctx) {
|
|
27
|
+
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
28
28
|
if (!accessToken) {
|
|
29
29
|
return {
|
|
30
30
|
data: {
|
|
@@ -47,7 +47,7 @@ let GitHubListReposTool = GitHubListReposTool_1 = class GitHubListReposTool exte
|
|
|
47
47
|
},
|
|
48
48
|
});
|
|
49
49
|
if (response.status === 401 || response.status === 403) {
|
|
50
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${
|
|
50
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
51
51
|
return {
|
|
52
52
|
data: {
|
|
53
53
|
error: '401',
|
|
@@ -89,9 +89,8 @@ __decorate([
|
|
|
89
89
|
], GitHubListReposTool.prototype, "tokenStore", void 0);
|
|
90
90
|
GitHubListReposTool = GitHubListReposTool_1 = __decorate([
|
|
91
91
|
Tool({
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
92
|
+
name: 'github_list_repos',
|
|
93
|
+
description: 'Lists repositories for the authenticated GitHub user. Returns { error: "unauthorized" } if no valid token is available.',
|
|
95
94
|
schema: inputSchema,
|
|
96
95
|
})
|
|
97
96
|
], GitHubListReposTool);
|