@loopstack/github-module 0.1.0 → 0.2.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/dist/tools/actions/github-get-workflow-run.tool.d.ts +11 -9
- package/dist/tools/actions/github-get-workflow-run.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-get-workflow-run.tool.js +13 -18
- package/dist/tools/actions/github-get-workflow-run.tool.js.map +1 -1
- package/dist/tools/actions/github-list-workflow-runs.tool.d.ts +29 -12
- package/dist/tools/actions/github-list-workflow-runs.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-list-workflow-runs.tool.js +33 -38
- package/dist/tools/actions/github-list-workflow-runs.tool.js.map +1 -1
- package/dist/tools/actions/github-trigger-workflow.tool.d.ts +13 -11
- package/dist/tools/actions/github-trigger-workflow.tool.d.ts.map +1 -1
- package/dist/tools/actions/github-trigger-workflow.tool.js +15 -20
- package/dist/tools/actions/github-trigger-workflow.tool.js.map +1 -1
- package/dist/tools/content/github-create-or-update-file.tool.d.ts +15 -13
- 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 +17 -22
- package/dist/tools/content/github-create-or-update-file.tool.js.map +1 -1
- package/dist/tools/content/github-get-commit.tool.d.ts +11 -9
- package/dist/tools/content/github-get-commit.tool.d.ts.map +1 -1
- package/dist/tools/content/github-get-commit.tool.js +13 -18
- package/dist/tools/content/github-get-commit.tool.js.map +1 -1
- package/dist/tools/content/github-get-file-content.tool.d.ts +12 -10
- package/dist/tools/content/github-get-file-content.tool.d.ts.map +1 -1
- package/dist/tools/content/github-get-file-content.tool.js +14 -19
- package/dist/tools/content/github-get-file-content.tool.js.map +1 -1
- package/dist/tools/content/github-list-directory.tool.d.ts +12 -10
- package/dist/tools/content/github-list-directory.tool.d.ts.map +1 -1
- package/dist/tools/content/github-list-directory.tool.js +14 -19
- package/dist/tools/content/github-list-directory.tool.js.map +1 -1
- package/dist/tools/issues/github-create-issue-comment.tool.d.ts +12 -10
- package/dist/tools/issues/github-create-issue-comment.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-create-issue-comment.tool.js +14 -19
- package/dist/tools/issues/github-create-issue-comment.tool.js.map +1 -1
- package/dist/tools/issues/github-create-issue.tool.d.ts +14 -12
- package/dist/tools/issues/github-create-issue.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-create-issue.tool.js +16 -21
- package/dist/tools/issues/github-create-issue.tool.js.map +1 -1
- package/dist/tools/issues/github-get-issue.tool.d.ts +11 -9
- package/dist/tools/issues/github-get-issue.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-get-issue.tool.js +13 -18
- package/dist/tools/issues/github-get-issue.tool.js.map +1 -1
- package/dist/tools/issues/github-list-issues.tool.d.ts +19 -13
- package/dist/tools/issues/github-list-issues.tool.d.ts.map +1 -1
- package/dist/tools/issues/github-list-issues.tool.js +17 -22
- package/dist/tools/issues/github-list-issues.tool.js.map +1 -1
- package/dist/tools/pull-requests/github-create-pull-request.tool.d.ts +15 -13
- 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 +17 -22
- 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 +11 -9
- 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 +13 -18
- 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 +11 -9
- 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 +13 -18
- 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 +18 -12
- 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 +16 -21
- 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 +18 -12
- 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 +16 -21
- package/dist/tools/pull-requests/github-merge-pull-request.tool.js.map +1 -1
- package/dist/tools/repos/github-create-repo.tool.d.ts +12 -10
- package/dist/tools/repos/github-create-repo.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-create-repo.tool.js +14 -19
- package/dist/tools/repos/github-create-repo.tool.js.map +1 -1
- package/dist/tools/repos/github-get-repo.tool.d.ts +10 -8
- package/dist/tools/repos/github-get-repo.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-get-repo.tool.js +12 -17
- package/dist/tools/repos/github-get-repo.tool.js.map +1 -1
- package/dist/tools/repos/github-list-branches.tool.d.ts +11 -9
- package/dist/tools/repos/github-list-branches.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-list-branches.tool.js +13 -18
- package/dist/tools/repos/github-list-branches.tool.js.map +1 -1
- package/dist/tools/repos/github-list-repos.tool.d.ts +21 -10
- package/dist/tools/repos/github-list-repos.tool.d.ts.map +1 -1
- package/dist/tools/repos/github-list-repos.tool.js +14 -19
- package/dist/tools/repos/github-list-repos.tool.js.map +1 -1
- package/dist/tools/search/github-search-code.tool.d.ts +11 -9
- package/dist/tools/search/github-search-code.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-code.tool.js +13 -18
- package/dist/tools/search/github-search-code.tool.js.map +1 -1
- package/dist/tools/search/github-search-issues.tool.d.ts +20 -10
- package/dist/tools/search/github-search-issues.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-issues.tool.js +16 -21
- package/dist/tools/search/github-search-issues.tool.js.map +1 -1
- package/dist/tools/search/github-search-repos.tool.d.ts +17 -10
- package/dist/tools/search/github-search-repos.tool.d.ts.map +1 -1
- package/dist/tools/search/github-search-repos.tool.js +14 -19
- package/dist/tools/search/github-search-repos.tool.js.map +1 -1
- package/dist/tools/users/github-get-authenticated-user.tool.d.ts +7 -5
- package/dist/tools/users/github-get-authenticated-user.tool.d.ts.map +1 -1
- package/dist/tools/users/github-get-authenticated-user.tool.js +7 -12
- package/dist/tools/users/github-get-authenticated-user.tool.js.map +1 -1
- package/dist/tools/users/github-list-user-orgs.tool.d.ts +9 -7
- package/dist/tools/users/github-list-user-orgs.tool.d.ts.map +1 -1
- package/dist/tools/users/github-list-user-orgs.tool.js +11 -16
- package/dist/tools/users/github-list-user-orgs.tool.js.map +1 -1
- package/package.json +2 -2
- package/src/tools/actions/github-get-workflow-run.tool.ts +16 -22
- package/src/tools/actions/github-list-workflow-runs.tool.ts +36 -45
- package/src/tools/actions/github-trigger-workflow.tool.ts +18 -26
- package/src/tools/content/github-create-or-update-file.tool.ts +20 -30
- package/src/tools/content/github-get-commit.tool.ts +16 -22
- package/src/tools/content/github-get-file-content.tool.ts +17 -24
- package/src/tools/content/github-list-directory.tool.ts +17 -24
- package/src/tools/issues/github-create-issue-comment.tool.ts +17 -24
- package/src/tools/issues/github-create-issue.tool.ts +19 -28
- package/src/tools/issues/github-get-issue.tool.ts +16 -22
- package/src/tools/issues/github-list-issues.tool.ts +20 -30
- package/src/tools/pull-requests/github-create-pull-request.tool.ts +20 -30
- package/src/tools/pull-requests/github-get-pull-request.tool.ts +16 -22
- package/src/tools/pull-requests/github-list-pr-reviews.tool.ts +16 -22
- package/src/tools/pull-requests/github-list-pull-requests.tool.ts +19 -28
- package/src/tools/pull-requests/github-merge-pull-request.tool.ts +19 -28
- package/src/tools/repos/github-create-repo.tool.ts +17 -24
- package/src/tools/repos/github-get-repo.tool.ts +15 -20
- package/src/tools/repos/github-list-branches.tool.ts +16 -22
- package/src/tools/repos/github-list-repos.tool.ts +17 -24
- package/src/tools/search/github-search-code.tool.ts +16 -22
- package/src/tools/search/github-search-issues.tool.ts +19 -26
- package/src/tools/search/github-search-repos.tool.ts +17 -24
- package/src/tools/users/github-get-authenticated-user.tool.ts +10 -12
- package/src/tools/users/github-list-user-orgs.tool.ts +14 -18
|
@@ -1,43 +1,36 @@
|
|
|
1
1
|
import { Inject, Logger } from '@nestjs/common';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseTool, Tool, ToolResult } from '@loopstack/common';
|
|
4
4
|
import { OAuthTokenStore } from '@loopstack/oauth-module';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const inputSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
query: z.string(),
|
|
9
|
+
sort: z
|
|
10
|
+
.enum(['comments', 'reactions', 'reactions-+1', 'reactions--1', 'interactions', 'created', 'updated'])
|
|
11
|
+
.optional(),
|
|
12
|
+
perPage: z.number().default(30),
|
|
13
|
+
page: z.number().default(1),
|
|
14
|
+
})
|
|
15
|
+
.strict();
|
|
16
|
+
|
|
17
|
+
export type GitHubSearchIssuesArgs = z.input<typeof inputSchema>;
|
|
12
18
|
|
|
13
19
|
@Tool({
|
|
14
|
-
|
|
20
|
+
uiConfig: {
|
|
15
21
|
description:
|
|
16
22
|
'Searches for issues and pull requests across GitHub using the GitHub search syntax. Returns { error: "unauthorized" } if no valid token is available.',
|
|
17
23
|
},
|
|
24
|
+
schema: inputSchema,
|
|
18
25
|
})
|
|
19
|
-
export class GitHubSearchIssuesTool
|
|
26
|
+
export class GitHubSearchIssuesTool extends BaseTool {
|
|
20
27
|
private readonly logger = new Logger(GitHubSearchIssuesTool.name);
|
|
21
28
|
|
|
22
29
|
@Inject()
|
|
23
30
|
private tokenStore: OAuthTokenStore;
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.object({
|
|
28
|
-
query: z.string(),
|
|
29
|
-
sort: z
|
|
30
|
-
.enum(['comments', 'reactions', 'reactions-+1', 'reactions--1', 'interactions', 'created', 'updated'])
|
|
31
|
-
.optional(),
|
|
32
|
-
perPage: z.number().default(30),
|
|
33
|
-
page: z.number().default(1),
|
|
34
|
-
})
|
|
35
|
-
.strict(),
|
|
36
|
-
})
|
|
37
|
-
args: GitHubSearchIssuesArgs;
|
|
38
|
-
|
|
39
|
-
async execute(args: GitHubSearchIssuesArgs, ctx: RunContext): Promise<ToolResult> {
|
|
40
|
-
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
32
|
+
async call(args: GitHubSearchIssuesArgs): Promise<ToolResult> {
|
|
33
|
+
const accessToken = await this.tokenStore.getValidAccessToken(this.ctx.context.userId, 'github');
|
|
41
34
|
|
|
42
35
|
if (!accessToken) {
|
|
43
36
|
return {
|
|
@@ -65,7 +58,7 @@ export class GitHubSearchIssuesTool implements ToolInterface {
|
|
|
65
58
|
});
|
|
66
59
|
|
|
67
60
|
if (response.status === 401 || response.status === 403) {
|
|
68
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
61
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${this.ctx.context.userId}`);
|
|
69
62
|
return {
|
|
70
63
|
data: {
|
|
71
64
|
error: '401',
|
|
@@ -1,41 +1,34 @@
|
|
|
1
1
|
import { Inject, Logger } from '@nestjs/common';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseTool, Tool, ToolResult } from '@loopstack/common';
|
|
4
4
|
import { OAuthTokenStore } from '@loopstack/oauth-module';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const inputSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
query: z.string(),
|
|
9
|
+
sort: z.enum(['stars', 'forks', 'help-wanted-issues', 'updated']).optional(),
|
|
10
|
+
perPage: z.number().default(30),
|
|
11
|
+
page: z.number().default(1),
|
|
12
|
+
})
|
|
13
|
+
.strict();
|
|
14
|
+
|
|
15
|
+
export type GitHubSearchReposArgs = z.input<typeof inputSchema>;
|
|
12
16
|
|
|
13
17
|
@Tool({
|
|
14
|
-
|
|
18
|
+
uiConfig: {
|
|
15
19
|
description:
|
|
16
20
|
'Searches for repositories on GitHub using the GitHub search syntax. Returns { error: "unauthorized" } if no valid token is available.',
|
|
17
21
|
},
|
|
22
|
+
schema: inputSchema,
|
|
18
23
|
})
|
|
19
|
-
export class GitHubSearchReposTool
|
|
24
|
+
export class GitHubSearchReposTool extends BaseTool {
|
|
20
25
|
private readonly logger = new Logger(GitHubSearchReposTool.name);
|
|
21
26
|
|
|
22
27
|
@Inject()
|
|
23
28
|
private tokenStore: OAuthTokenStore;
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.object({
|
|
28
|
-
query: z.string(),
|
|
29
|
-
sort: z.enum(['stars', 'forks', 'help-wanted-issues', 'updated']).optional(),
|
|
30
|
-
perPage: z.number().default(30),
|
|
31
|
-
page: z.number().default(1),
|
|
32
|
-
})
|
|
33
|
-
.strict(),
|
|
34
|
-
})
|
|
35
|
-
args: GitHubSearchReposArgs;
|
|
36
|
-
|
|
37
|
-
async execute(args: GitHubSearchReposArgs, ctx: RunContext): Promise<ToolResult> {
|
|
38
|
-
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
30
|
+
async call(args: GitHubSearchReposArgs): Promise<ToolResult> {
|
|
31
|
+
const accessToken = await this.tokenStore.getValidAccessToken(this.ctx.context.userId, 'github');
|
|
39
32
|
|
|
40
33
|
if (!accessToken) {
|
|
41
34
|
return {
|
|
@@ -63,7 +56,7 @@ export class GitHubSearchReposTool implements ToolInterface {
|
|
|
63
56
|
});
|
|
64
57
|
|
|
65
58
|
if (response.status === 401 || response.status === 403) {
|
|
66
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
59
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${this.ctx.context.userId}`);
|
|
67
60
|
return {
|
|
68
61
|
data: {
|
|
69
62
|
error: '401',
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
import { Inject, Logger } from '@nestjs/common';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseTool, Tool, ToolResult } from '@loopstack/common';
|
|
4
4
|
import { OAuthTokenStore } from '@loopstack/oauth-module';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
const inputSchema = z.object({}).strict();
|
|
7
|
+
|
|
8
|
+
export type GitHubGetAuthenticatedUserArgs = z.infer<typeof inputSchema>;
|
|
7
9
|
|
|
8
10
|
@Tool({
|
|
9
|
-
|
|
11
|
+
uiConfig: {
|
|
10
12
|
description:
|
|
11
13
|
'Gets the profile of the currently authenticated GitHub user. Returns { error: "unauthorized" } if no valid token is available.',
|
|
12
14
|
},
|
|
15
|
+
schema: inputSchema,
|
|
13
16
|
})
|
|
14
|
-
export class GitHubGetAuthenticatedUserTool
|
|
17
|
+
export class GitHubGetAuthenticatedUserTool extends BaseTool {
|
|
15
18
|
private readonly logger = new Logger(GitHubGetAuthenticatedUserTool.name);
|
|
16
19
|
|
|
17
20
|
@Inject()
|
|
18
21
|
private tokenStore: OAuthTokenStore;
|
|
19
22
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
})
|
|
23
|
-
args: GitHubGetAuthenticatedUserArgs;
|
|
24
|
-
|
|
25
|
-
async execute(_args: GitHubGetAuthenticatedUserArgs, ctx: RunContext): Promise<ToolResult> {
|
|
26
|
-
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
23
|
+
async call(_args: GitHubGetAuthenticatedUserArgs): Promise<ToolResult> {
|
|
24
|
+
const accessToken = await this.tokenStore.getValidAccessToken(this.ctx.context.userId, 'github');
|
|
27
25
|
|
|
28
26
|
if (!accessToken) {
|
|
29
27
|
return {
|
|
@@ -43,7 +41,7 @@ export class GitHubGetAuthenticatedUserTool implements ToolInterface {
|
|
|
43
41
|
});
|
|
44
42
|
|
|
45
43
|
if (response.status === 401 || response.status === 403) {
|
|
46
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
44
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${this.ctx.context.userId}`);
|
|
47
45
|
return {
|
|
48
46
|
data: {
|
|
49
47
|
error: '401',
|
|
@@ -1,35 +1,31 @@
|
|
|
1
1
|
import { Inject, Logger } from '@nestjs/common';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { BaseTool, Tool, ToolResult } from '@loopstack/common';
|
|
4
4
|
import { OAuthTokenStore } from '@loopstack/oauth-module';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const inputSchema = z
|
|
7
|
+
.object({
|
|
8
|
+
perPage: z.number().default(30),
|
|
9
|
+
})
|
|
10
|
+
.strict();
|
|
11
|
+
|
|
12
|
+
export type GitHubListUserOrgsArgs = z.input<typeof inputSchema>;
|
|
9
13
|
|
|
10
14
|
@Tool({
|
|
11
|
-
|
|
15
|
+
uiConfig: {
|
|
12
16
|
description:
|
|
13
17
|
'Lists organizations for the authenticated GitHub user. Returns { error: "unauthorized" } if no valid token is available.',
|
|
14
18
|
},
|
|
19
|
+
schema: inputSchema,
|
|
15
20
|
})
|
|
16
|
-
export class GitHubListUserOrgsTool
|
|
21
|
+
export class GitHubListUserOrgsTool extends BaseTool {
|
|
17
22
|
private readonly logger = new Logger(GitHubListUserOrgsTool.name);
|
|
18
23
|
|
|
19
24
|
@Inject()
|
|
20
25
|
private tokenStore: OAuthTokenStore;
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
.object({
|
|
25
|
-
perPage: z.number().default(30),
|
|
26
|
-
})
|
|
27
|
-
.strict(),
|
|
28
|
-
})
|
|
29
|
-
args: GitHubListUserOrgsArgs;
|
|
30
|
-
|
|
31
|
-
async execute(args: GitHubListUserOrgsArgs, ctx: RunContext): Promise<ToolResult> {
|
|
32
|
-
const accessToken = await this.tokenStore.getValidAccessToken(ctx.userId, 'github');
|
|
27
|
+
async call(args: GitHubListUserOrgsArgs): Promise<ToolResult> {
|
|
28
|
+
const accessToken = await this.tokenStore.getValidAccessToken(this.ctx.context.userId, 'github');
|
|
33
29
|
|
|
34
30
|
if (!accessToken) {
|
|
35
31
|
return {
|
|
@@ -53,7 +49,7 @@ export class GitHubListUserOrgsTool implements ToolInterface {
|
|
|
53
49
|
});
|
|
54
50
|
|
|
55
51
|
if (response.status === 401 || response.status === 403) {
|
|
56
|
-
this.logger.warn(`GitHub API returned ${response.status} for user ${ctx.userId}`);
|
|
52
|
+
this.logger.warn(`GitHub API returned ${response.status} for user ${this.ctx.context.userId}`);
|
|
57
53
|
return {
|
|
58
54
|
data: {
|
|
59
55
|
error: '401',
|