@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.
- package/LICENSE +96 -21
- package/dist/GitHubRepoIndexer.d.ts +88 -0
- package/dist/GitHubRepoIndexer.d.ts.map +1 -0
- package/dist/GitHubRepoIndexer.js +252 -0
- package/dist/GitHubRepoIndexer.js.map +1 -0
- package/dist/GitHubService.d.ts +58 -1
- package/dist/GitHubService.d.ts.map +1 -1
- package/dist/GitHubService.js +83 -1
- package/dist/GitHubService.js.map +1 -1
- package/dist/__tests__/fileAndBranchTools.test.d.ts +6 -0
- package/dist/__tests__/fileAndBranchTools.test.d.ts.map +1 -0
- package/dist/__tests__/fileAndBranchTools.test.js +310 -0
- package/dist/__tests__/fileAndBranchTools.test.js.map +1 -0
- package/dist/__tests__/indexer.test.d.ts +6 -0
- package/dist/__tests__/indexer.test.d.ts.map +1 -0
- package/dist/__tests__/indexer.test.js +239 -0
- package/dist/__tests__/indexer.test.js.map +1 -0
- package/dist/__tests__/issueTools.test.d.ts +5 -0
- package/dist/__tests__/issueTools.test.d.ts.map +1 -0
- package/dist/__tests__/issueTools.test.js +183 -0
- package/dist/__tests__/issueTools.test.js.map +1 -0
- package/dist/__tests__/prTools.test.d.ts +5 -0
- package/dist/__tests__/prTools.test.d.ts.map +1 -0
- package/dist/__tests__/prTools.test.js +318 -0
- package/dist/__tests__/prTools.test.js.map +1 -0
- package/dist/__tests__/releaseAndActionsTools.test.d.ts +6 -0
- package/dist/__tests__/releaseAndActionsTools.test.d.ts.map +1 -0
- package/dist/__tests__/releaseAndActionsTools.test.js +315 -0
- package/dist/__tests__/releaseAndActionsTools.test.js.map +1 -0
- package/dist/__tests__/repoTools.test.d.ts +6 -0
- package/dist/__tests__/repoTools.test.d.ts.map +1 -0
- package/dist/__tests__/repoTools.test.js +308 -0
- package/dist/__tests__/repoTools.test.js.map +1 -0
- package/dist/__tests__/service.test.d.ts +6 -0
- package/dist/__tests__/service.test.d.ts.map +1 -0
- package/dist/__tests__/service.test.js +173 -0
- package/dist/__tests__/service.test.js.map +1 -0
- package/dist/index.d.ts +41 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/actionsList.d.ts +48 -0
- package/dist/tools/actionsList.d.ts.map +1 -0
- package/dist/tools/actionsList.js +71 -0
- package/dist/tools/actionsList.js.map +1 -0
- package/dist/tools/actionsTrigger.d.ts +56 -0
- package/dist/tools/actionsTrigger.d.ts.map +1 -0
- package/dist/tools/actionsTrigger.js +62 -0
- package/dist/tools/actionsTrigger.js.map +1 -0
- package/dist/tools/branchCreate.d.ts +47 -0
- package/dist/tools/branchCreate.d.ts.map +1 -0
- package/dist/tools/branchCreate.js +68 -0
- package/dist/tools/branchCreate.js.map +1 -0
- package/dist/tools/branchList.d.ts +45 -0
- package/dist/tools/branchList.d.ts.map +1 -0
- package/dist/tools/branchList.js +47 -0
- package/dist/tools/branchList.js.map +1 -0
- package/dist/tools/commentList.d.ts +48 -0
- package/dist/tools/commentList.d.ts.map +1 -0
- package/dist/tools/commentList.js +52 -0
- package/dist/tools/commentList.js.map +1 -0
- package/dist/tools/commitList.d.ts +65 -0
- package/dist/tools/commitList.d.ts.map +1 -0
- package/dist/tools/commitList.js +58 -0
- package/dist/tools/commitList.js.map +1 -0
- package/dist/tools/fileRead.d.ts.map +1 -1
- package/dist/tools/fileRead.js +1 -0
- package/dist/tools/fileRead.js.map +1 -1
- package/dist/tools/fileWrite.d.ts +61 -0
- package/dist/tools/fileWrite.d.ts.map +1 -0
- package/dist/tools/fileWrite.js +56 -0
- package/dist/tools/fileWrite.js.map +1 -0
- package/dist/tools/gistCreate.d.ts.map +1 -1
- package/dist/tools/gistCreate.js +1 -0
- package/dist/tools/gistCreate.js.map +1 -1
- package/dist/tools/issueCreate.d.ts.map +1 -1
- package/dist/tools/issueCreate.js +1 -0
- package/dist/tools/issueCreate.js.map +1 -1
- package/dist/tools/issueList.d.ts.map +1 -1
- package/dist/tools/issueList.js +1 -0
- package/dist/tools/issueList.js.map +1 -1
- package/dist/tools/issueUpdate.d.ts +75 -0
- package/dist/tools/issueUpdate.d.ts.map +1 -0
- package/dist/tools/issueUpdate.js +80 -0
- package/dist/tools/issueUpdate.js.map +1 -0
- package/dist/tools/prCommentCreate.d.ts +48 -0
- package/dist/tools/prCommentCreate.d.ts.map +1 -0
- package/dist/tools/prCommentCreate.js +50 -0
- package/dist/tools/prCommentCreate.js.map +1 -0
- package/dist/tools/prCommentList.d.ts +48 -0
- package/dist/tools/prCommentList.d.ts.map +1 -0
- package/dist/tools/prCommentList.js +53 -0
- package/dist/tools/prCommentList.js.map +1 -0
- package/dist/tools/prCreate.d.ts.map +1 -1
- package/dist/tools/prCreate.js +1 -0
- package/dist/tools/prCreate.js.map +1 -1
- package/dist/tools/prDiff.d.ts +48 -0
- package/dist/tools/prDiff.d.ts.map +1 -0
- package/dist/tools/prDiff.js +75 -0
- package/dist/tools/prDiff.js.map +1 -0
- package/dist/tools/prList.d.ts.map +1 -1
- package/dist/tools/prList.js +1 -0
- package/dist/tools/prList.js.map +1 -1
- package/dist/tools/prMerge.d.ts +59 -0
- package/dist/tools/prMerge.d.ts.map +1 -0
- package/dist/tools/prMerge.js +58 -0
- package/dist/tools/prMerge.js.map +1 -0
- package/dist/tools/prReview.d.ts +81 -0
- package/dist/tools/prReview.d.ts.map +1 -0
- package/dist/tools/prReview.js +70 -0
- package/dist/tools/prReview.js.map +1 -0
- package/dist/tools/releaseCreate.d.ts +73 -0
- package/dist/tools/releaseCreate.d.ts.map +1 -0
- package/dist/tools/releaseCreate.js +69 -0
- package/dist/tools/releaseCreate.js.map +1 -0
- package/dist/tools/releaseList.d.ts +42 -0
- package/dist/tools/releaseList.d.ts.map +1 -0
- package/dist/tools/releaseList.js +50 -0
- package/dist/tools/releaseList.js.map +1 -0
- package/dist/tools/repoCreate.d.ts +55 -0
- package/dist/tools/repoCreate.d.ts.map +1 -0
- package/dist/tools/repoCreate.js +54 -0
- package/dist/tools/repoCreate.js.map +1 -0
- package/dist/tools/repoIndex.d.ts +47 -0
- package/dist/tools/repoIndex.d.ts.map +1 -0
- package/dist/tools/repoIndex.js +127 -0
- package/dist/tools/repoIndex.js.map +1 -0
- package/dist/tools/repoInfo.d.ts +35 -0
- package/dist/tools/repoInfo.d.ts.map +1 -0
- package/dist/tools/repoInfo.js +60 -0
- package/dist/tools/repoInfo.js.map +1 -0
- package/dist/tools/repoList.d.ts +47 -0
- package/dist/tools/repoList.d.ts.map +1 -0
- package/dist/tools/repoList.js +74 -0
- package/dist/tools/repoList.js.map +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +1 -0
- package/dist/tools/search.js.map +1 -1
- package/manifest.json +30 -6
- package/package.json +10 -6
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview GitHub Repo Create tool — create a new repository for the authenticated user.
|
|
3
|
+
*/
|
|
4
|
+
import type { GitHubService } from '../GitHubService.js';
|
|
5
|
+
export declare class GitHubRepoCreateTool {
|
|
6
|
+
private readonly service;
|
|
7
|
+
readonly name = "github_repo_create";
|
|
8
|
+
readonly description = "Create a new GitHub repository for the authenticated user.";
|
|
9
|
+
readonly category = "developer";
|
|
10
|
+
readonly hasSideEffects = true;
|
|
11
|
+
readonly inputSchema: {
|
|
12
|
+
type: "object";
|
|
13
|
+
required: readonly ["name"];
|
|
14
|
+
properties: {
|
|
15
|
+
name: {
|
|
16
|
+
type: "string";
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
description: {
|
|
20
|
+
type: "string";
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
private: {
|
|
24
|
+
type: "boolean";
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
auto_init: {
|
|
28
|
+
type: "boolean";
|
|
29
|
+
description: string;
|
|
30
|
+
};
|
|
31
|
+
gitignore_template: {
|
|
32
|
+
type: "string";
|
|
33
|
+
description: string;
|
|
34
|
+
};
|
|
35
|
+
license_template: {
|
|
36
|
+
type: "string";
|
|
37
|
+
description: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
constructor(service: GitHubService);
|
|
42
|
+
execute(args: {
|
|
43
|
+
name: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
private?: boolean;
|
|
46
|
+
auto_init?: boolean;
|
|
47
|
+
gitignore_template?: string;
|
|
48
|
+
license_template?: string;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
data?: unknown;
|
|
52
|
+
error?: string;
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=repoCreate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoCreate.d.ts","sourceRoot":"","sources":["../../src/tools/repoCreate.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,oBAAoB;IAmBnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,WAAW,gEAAgE;IACpF,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,QAAQ;IAE/B,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAWlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA2BlE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview GitHub Repo Create tool — create a new repository for the authenticated user.
|
|
4
|
+
*/
|
|
5
|
+
export class GitHubRepoCreateTool {
|
|
6
|
+
service;
|
|
7
|
+
name = 'github_repo_create';
|
|
8
|
+
description = 'Create a new GitHub repository for the authenticated user.';
|
|
9
|
+
category = 'developer';
|
|
10
|
+
hasSideEffects = true;
|
|
11
|
+
inputSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
required: ['name'],
|
|
14
|
+
properties: {
|
|
15
|
+
name: { type: 'string', description: 'Repository name' },
|
|
16
|
+
description: { type: 'string', description: 'Short description of the repository' },
|
|
17
|
+
private: { type: 'boolean', description: 'Whether the repo is private (default: false)' },
|
|
18
|
+
auto_init: { type: 'boolean', description: 'Initialize with a README (default: false)' },
|
|
19
|
+
gitignore_template: { type: 'string', description: 'Gitignore template name (e.g. "Node", "Python")' },
|
|
20
|
+
license_template: { type: 'string', description: 'License template (e.g. "mit", "apache-2.0")' },
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
constructor(service) {
|
|
24
|
+
this.service = service;
|
|
25
|
+
}
|
|
26
|
+
async execute(args) {
|
|
27
|
+
try {
|
|
28
|
+
const octokit = this.service.getOctokit();
|
|
29
|
+
const { data } = await octokit.rest.repos.createForAuthenticatedUser({
|
|
30
|
+
name: args.name,
|
|
31
|
+
description: args.description,
|
|
32
|
+
private: args.private ?? false,
|
|
33
|
+
auto_init: args.auto_init ?? false,
|
|
34
|
+
gitignore_template: args.gitignore_template,
|
|
35
|
+
license_template: args.license_template,
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
success: true,
|
|
39
|
+
data: {
|
|
40
|
+
name: data.name,
|
|
41
|
+
full_name: data.full_name,
|
|
42
|
+
url: data.html_url,
|
|
43
|
+
clone_url: data.clone_url,
|
|
44
|
+
private: data.private,
|
|
45
|
+
default_branch: data.default_branch,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=repoCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoCreate.js","sourceRoot":"","sources":["../../src/tools/repoCreate.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;GAEG;AAIH,MAAM,OAAO,oBAAoB;IAmBF;IAlBpB,IAAI,GAAG,oBAAoB,CAAC;IAC5B,WAAW,GAAG,4DAA4D,CAAC;IAC3E,QAAQ,GAAG,WAAW,CAAC;IACvB,cAAc,GAAG,IAAI,CAAC;IAEtB,WAAW,GAAG;QACrB,IAAI,EAAE,QAAiB;QACvB,QAAQ,EAAE,CAAC,MAAM,CAAU;QAC3B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC5F,OAAO,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,8CAA8C,EAAE;YAClG,SAAS,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,WAAW,EAAE,2CAA2C,EAAE;YACjG,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,iDAAiD,EAAE;YAC/G,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,6CAA6C,EAAE;SAC1G;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,0BAA0B,CAAC;gBACnE,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;gBAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,KAAK;gBAClC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,IAAI,CAAC,QAAQ;oBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;iBACpC;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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview GitHub Repo Index tool — fetch repository metadata, tree, README,
|
|
3
|
+
* docs, and package.json for RAG indexing. Returns an array of text chunks suitable
|
|
4
|
+
* for embedding or search indexing.
|
|
5
|
+
*/
|
|
6
|
+
import type { GitHubService } from '../GitHubService.js';
|
|
7
|
+
export declare class GitHubRepoIndexTool {
|
|
8
|
+
private readonly service;
|
|
9
|
+
readonly name = "github_repo_index";
|
|
10
|
+
readonly description: string;
|
|
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
|
+
ref: {
|
|
26
|
+
type: "string";
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
max_doc_files: {
|
|
30
|
+
type: "number";
|
|
31
|
+
description: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
constructor(service: GitHubService);
|
|
36
|
+
execute(args: {
|
|
37
|
+
owner: string;
|
|
38
|
+
repo: string;
|
|
39
|
+
ref?: string;
|
|
40
|
+
max_doc_files?: number;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
success: boolean;
|
|
43
|
+
data?: unknown;
|
|
44
|
+
error?: string;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=repoIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoIndex.d.ts","sourceRoot":"","sources":["../../src/tools/repoIndex.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,qBAAa,mBAAmB;IAmBlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,WAAW,SAEqD;IACzE,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;MASlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA2GlE"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview GitHub Repo Index tool — fetch repository metadata, tree, README,
|
|
4
|
+
* docs, and package.json for RAG indexing. Returns an array of text chunks suitable
|
|
5
|
+
* for embedding or search indexing.
|
|
6
|
+
*/
|
|
7
|
+
export class GitHubRepoIndexTool {
|
|
8
|
+
service;
|
|
9
|
+
name = 'github_repo_index';
|
|
10
|
+
description = 'Fetch a repository\'s metadata, file tree, README, doc files, and package.json. ' +
|
|
11
|
+
'Returns an array of text chunks ready for RAG indexing or embedding.';
|
|
12
|
+
category = 'developer';
|
|
13
|
+
hasSideEffects = false;
|
|
14
|
+
inputSchema = {
|
|
15
|
+
type: 'object',
|
|
16
|
+
required: ['owner', 'repo'],
|
|
17
|
+
properties: {
|
|
18
|
+
owner: { type: 'string', description: 'Repository owner (user or org)' },
|
|
19
|
+
repo: { type: 'string', description: 'Repository name' },
|
|
20
|
+
ref: { type: 'string', description: 'Branch, tag, or SHA (default: default branch)' },
|
|
21
|
+
max_doc_files: { type: 'number', description: 'Max number of doc files to fetch (default: 10)' },
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
constructor(service) {
|
|
25
|
+
this.service = service;
|
|
26
|
+
}
|
|
27
|
+
async execute(args) {
|
|
28
|
+
try {
|
|
29
|
+
const { owner, repo } = args;
|
|
30
|
+
const maxDocs = args.max_doc_files ?? 10;
|
|
31
|
+
const chunks = [];
|
|
32
|
+
// 1. Repository metadata
|
|
33
|
+
const metadata = await this.service.getRepoMetadata(owner, repo);
|
|
34
|
+
const ref = args.ref ?? metadata.defaultBranch;
|
|
35
|
+
chunks.push({
|
|
36
|
+
type: 'metadata',
|
|
37
|
+
label: `${metadata.fullName} metadata`,
|
|
38
|
+
content: [
|
|
39
|
+
`Repository: ${metadata.fullName}`,
|
|
40
|
+
metadata.description ? `Description: ${metadata.description}` : null,
|
|
41
|
+
`Language: ${metadata.language ?? 'unknown'}`,
|
|
42
|
+
`Stars: ${metadata.stars} | Forks: ${metadata.forks}`,
|
|
43
|
+
`Topics: ${metadata.topics.length ? metadata.topics.join(', ') : 'none'}`,
|
|
44
|
+
`Default branch: ${metadata.defaultBranch}`,
|
|
45
|
+
`License: ${metadata.license ?? 'none'}`,
|
|
46
|
+
`URL: ${metadata.htmlUrl}`,
|
|
47
|
+
]
|
|
48
|
+
.filter(Boolean)
|
|
49
|
+
.join('\n'),
|
|
50
|
+
});
|
|
51
|
+
// 2. File tree
|
|
52
|
+
const tree = await this.service.getRepoTree(owner, repo, ref);
|
|
53
|
+
const treePaths = tree
|
|
54
|
+
.filter((e) => e.type === 'blob')
|
|
55
|
+
.map((e) => e.path);
|
|
56
|
+
chunks.push({
|
|
57
|
+
type: 'tree',
|
|
58
|
+
label: `${metadata.fullName} file tree (${treePaths.length} files)`,
|
|
59
|
+
content: treePaths.join('\n'),
|
|
60
|
+
});
|
|
61
|
+
// 3. README (try common filenames)
|
|
62
|
+
const readmeCandidates = treePaths.filter((p) => /^readme(\.\w+)?$/i.test(p.split('/').pop() ?? '') && !p.includes('/'));
|
|
63
|
+
for (const readmePath of readmeCandidates.slice(0, 1)) {
|
|
64
|
+
try {
|
|
65
|
+
const content = await this.service.getFileContent(owner, repo, readmePath, ref);
|
|
66
|
+
chunks.push({
|
|
67
|
+
type: 'readme',
|
|
68
|
+
label: `${metadata.fullName} ${readmePath}`,
|
|
69
|
+
content,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// README might be too large or binary — skip silently
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// 4. Doc files (markdown in docs/, doc/, documentation/)
|
|
77
|
+
const docPaths = treePaths.filter((p) => {
|
|
78
|
+
const lower = p.toLowerCase();
|
|
79
|
+
return ((lower.startsWith('docs/') ||
|
|
80
|
+
lower.startsWith('doc/') ||
|
|
81
|
+
lower.startsWith('documentation/')) &&
|
|
82
|
+
lower.endsWith('.md'));
|
|
83
|
+
});
|
|
84
|
+
for (const docPath of docPaths.slice(0, maxDocs)) {
|
|
85
|
+
try {
|
|
86
|
+
const content = await this.service.getFileContent(owner, repo, docPath, ref);
|
|
87
|
+
chunks.push({
|
|
88
|
+
type: 'doc',
|
|
89
|
+
label: `${metadata.fullName} ${docPath}`,
|
|
90
|
+
content,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Skip unreadable docs
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// 5. package.json (if present at root)
|
|
98
|
+
if (treePaths.includes('package.json')) {
|
|
99
|
+
try {
|
|
100
|
+
const content = await this.service.getFileContent(owner, repo, 'package.json', ref);
|
|
101
|
+
chunks.push({
|
|
102
|
+
type: 'package_json',
|
|
103
|
+
label: `${metadata.fullName} package.json`,
|
|
104
|
+
content,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Skip if unreadable
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
success: true,
|
|
113
|
+
data: {
|
|
114
|
+
owner,
|
|
115
|
+
repo,
|
|
116
|
+
ref,
|
|
117
|
+
chunk_count: chunks.length,
|
|
118
|
+
chunks,
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=repoIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoIndex.js","sourceRoot":"","sources":["../../src/tools/repoIndex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview GitHub Repo Info tool — get detailed metadata for a single repository.
|
|
3
|
+
*/
|
|
4
|
+
import type { GitHubService } from '../GitHubService.js';
|
|
5
|
+
export declare class GitHubRepoInfoTool {
|
|
6
|
+
private readonly service;
|
|
7
|
+
readonly name = "github_repo_info";
|
|
8
|
+
readonly description = "Get detailed metadata for a GitHub repository including stars, forks, topics, license, and default branch.";
|
|
9
|
+
readonly category = "developer";
|
|
10
|
+
readonly hasSideEffects = false;
|
|
11
|
+
readonly inputSchema: {
|
|
12
|
+
type: "object";
|
|
13
|
+
required: readonly ["owner", "repo"];
|
|
14
|
+
properties: {
|
|
15
|
+
owner: {
|
|
16
|
+
type: "string";
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
repo: {
|
|
20
|
+
type: "string";
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
constructor(service: GitHubService);
|
|
26
|
+
execute(args: {
|
|
27
|
+
owner: string;
|
|
28
|
+
repo: string;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
data?: unknown;
|
|
32
|
+
error?: string;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=repoInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoInfo.d.ts","sourceRoot":"","sources":["../../src/tools/repoInfo.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,kBAAkB;IAejB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAdpC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,gHAAgH;IACpI,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;MAOlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAqClE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview GitHub Repo Info tool — get detailed metadata for a single repository.
|
|
4
|
+
*/
|
|
5
|
+
export class GitHubRepoInfoTool {
|
|
6
|
+
service;
|
|
7
|
+
name = 'github_repo_info';
|
|
8
|
+
description = 'Get detailed metadata for a GitHub repository including stars, forks, topics, license, and default branch.';
|
|
9
|
+
category = 'developer';
|
|
10
|
+
hasSideEffects = false;
|
|
11
|
+
inputSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
required: ['owner', 'repo'],
|
|
14
|
+
properties: {
|
|
15
|
+
owner: { type: 'string', description: 'Repository owner (user or org)' },
|
|
16
|
+
repo: { type: 'string', description: 'Repository name' },
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
constructor(service) {
|
|
20
|
+
this.service = service;
|
|
21
|
+
}
|
|
22
|
+
async execute(args) {
|
|
23
|
+
try {
|
|
24
|
+
const octokit = this.service.getOctokit();
|
|
25
|
+
const { data } = await octokit.rest.repos.get({
|
|
26
|
+
owner: args.owner,
|
|
27
|
+
repo: args.repo,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
success: true,
|
|
31
|
+
data: {
|
|
32
|
+
name: data.name,
|
|
33
|
+
full_name: data.full_name,
|
|
34
|
+
description: data.description,
|
|
35
|
+
language: data.language,
|
|
36
|
+
stars: data.stargazers_count,
|
|
37
|
+
forks: data.forks_count,
|
|
38
|
+
open_issues: data.open_issues_count,
|
|
39
|
+
topics: data.topics ?? [],
|
|
40
|
+
default_branch: data.default_branch,
|
|
41
|
+
visibility: data.visibility ?? 'public',
|
|
42
|
+
license: data.license?.spdx_id ?? null,
|
|
43
|
+
created_at: data.created_at,
|
|
44
|
+
updated_at: data.updated_at,
|
|
45
|
+
pushed_at: data.pushed_at,
|
|
46
|
+
size: data.size,
|
|
47
|
+
url: data.html_url,
|
|
48
|
+
clone_url: data.clone_url,
|
|
49
|
+
has_issues: data.has_issues,
|
|
50
|
+
has_wiki: data.has_wiki,
|
|
51
|
+
archived: data.archived,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=repoInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoInfo.js","sourceRoot":"","sources":["../../src/tools/repoInfo.ts"],"names":[],"mappings":"AAAA,cAAc;AACd;;GAEG;AAIH,MAAM,OAAO,kBAAkB;IAeA;IAdpB,IAAI,GAAG,kBAAkB,CAAC;IAC1B,WAAW,GAAG,4GAA4G,CAAC;IAC3H,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;SAClE;KACF,CAAC;IAEF,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,KAAK,CAAC,OAAO,CAAC,IAGb;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,GAAG,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB;oBAC5B,KAAK,EAAE,IAAI,CAAC,WAAW;oBACvB,WAAW,EAAE,IAAI,CAAC,iBAAiB;oBACnC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;oBACzB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,QAAQ;oBACvC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI;oBACtC,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,QAAQ;oBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB;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,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview GitHub Repo List tool — list repositories for a user or organisation.
|
|
3
|
+
*/
|
|
4
|
+
import type { GitHubService } from '../GitHubService.js';
|
|
5
|
+
export declare class GitHubRepoListTool {
|
|
6
|
+
private readonly service;
|
|
7
|
+
readonly name = "github_repo_list";
|
|
8
|
+
readonly description = "List repositories for a GitHub user or organisation. Returns name, description, stars, and language for each repo.";
|
|
9
|
+
readonly category = "developer";
|
|
10
|
+
readonly hasSideEffects = false;
|
|
11
|
+
readonly inputSchema: {
|
|
12
|
+
type: "object";
|
|
13
|
+
required: readonly ["username"];
|
|
14
|
+
properties: {
|
|
15
|
+
username: {
|
|
16
|
+
type: "string";
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
type: {
|
|
20
|
+
type: "string";
|
|
21
|
+
enum: readonly ["user", "org"];
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
sort: {
|
|
25
|
+
type: "string";
|
|
26
|
+
enum: readonly ["created", "updated", "pushed", "full_name"];
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
per_page: {
|
|
30
|
+
type: "number";
|
|
31
|
+
description: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
constructor(service: GitHubService);
|
|
36
|
+
execute(args: {
|
|
37
|
+
username: string;
|
|
38
|
+
type?: string;
|
|
39
|
+
sort?: string;
|
|
40
|
+
per_page?: number;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
success: boolean;
|
|
43
|
+
data?: unknown;
|
|
44
|
+
error?: string;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=repoList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoList.d.ts","sourceRoot":"","sources":["../../src/tools/repoList.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,kBAAkB;IAyBjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAxBpC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,WAAW,wHAAwH;IAC5I,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;MAiBlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,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;CA0ClE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview GitHub Repo List tool — list repositories for a user or organisation.
|
|
4
|
+
*/
|
|
5
|
+
export class GitHubRepoListTool {
|
|
6
|
+
service;
|
|
7
|
+
name = 'github_repo_list';
|
|
8
|
+
description = 'List repositories for a GitHub user or organisation. Returns name, description, stars, and language for each repo.';
|
|
9
|
+
category = 'developer';
|
|
10
|
+
hasSideEffects = false;
|
|
11
|
+
inputSchema = {
|
|
12
|
+
type: 'object',
|
|
13
|
+
required: ['username'],
|
|
14
|
+
properties: {
|
|
15
|
+
username: { type: 'string', description: 'GitHub username or organisation name' },
|
|
16
|
+
type: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
enum: ['user', 'org'],
|
|
19
|
+
description: 'Account type — "user" (default) or "org"',
|
|
20
|
+
},
|
|
21
|
+
sort: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
enum: ['created', 'updated', 'pushed', 'full_name'],
|
|
24
|
+
description: 'Sort field (default: updated)',
|
|
25
|
+
},
|
|
26
|
+
per_page: { type: 'number', description: 'Results per page (max 100, default 30)' },
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
constructor(service) {
|
|
30
|
+
this.service = service;
|
|
31
|
+
}
|
|
32
|
+
async execute(args) {
|
|
33
|
+
try {
|
|
34
|
+
const octokit = this.service.getOctokit();
|
|
35
|
+
const perPage = Math.min(args.per_page ?? 30, 100);
|
|
36
|
+
const sort = args.sort ?? 'updated';
|
|
37
|
+
let repos;
|
|
38
|
+
if (args.type === 'org') {
|
|
39
|
+
const { data } = await octokit.rest.repos.listForOrg({
|
|
40
|
+
org: args.username,
|
|
41
|
+
sort,
|
|
42
|
+
per_page: perPage,
|
|
43
|
+
});
|
|
44
|
+
repos = data;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const { data } = await octokit.rest.repos.listForUser({
|
|
48
|
+
username: args.username,
|
|
49
|
+
sort,
|
|
50
|
+
per_page: perPage,
|
|
51
|
+
});
|
|
52
|
+
repos = data;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
data: repos.map((r) => ({
|
|
57
|
+
name: r.name,
|
|
58
|
+
full_name: r.full_name,
|
|
59
|
+
description: r.description,
|
|
60
|
+
language: r.language,
|
|
61
|
+
stars: r.stargazers_count,
|
|
62
|
+
forks: r.forks_count,
|
|
63
|
+
visibility: r.visibility ?? (r.private ? 'private' : 'public'),
|
|
64
|
+
updated_at: r.updated_at,
|
|
65
|
+
url: r.html_url,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=repoList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repoList.js","sourceRoot":"","sources":["../../src/tools/repoList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AACA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,gBAAgB;IAoBf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAnBpC,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,WAAW,gGAAgG;IACpH,QAAQ,CAAC,QAAQ,eAAe;IAChC,QAAQ,CAAC,cAAc,SAAS;IAEhC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;MAYlB;gBAE2B,OAAO,EAAE,aAAa;IAE7C,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAChF,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CA+EH"}
|
package/dist/tools/search.js
CHANGED
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
|
|
3
3
|
"id": "com.framers.integrations.github",
|
|
4
4
|
"name": "GitHub Extension",
|
|
5
|
-
"version": "0.1.
|
|
6
|
-
"description": "GitHub API tools —
|
|
5
|
+
"version": "0.1.1",
|
|
6
|
+
"description": "GitHub API tools — 26 tools for repos, issues, PRs, branches, commits, releases, Actions, files, gists, and codebase indexing.",
|
|
7
7
|
"categories": ["tool", "developer"],
|
|
8
8
|
"extensions": [
|
|
9
9
|
{ "kind": "tool", "id": "githubSearch", "displayName": "GitHub Search" },
|
|
@@ -12,14 +12,38 @@
|
|
|
12
12
|
{ "kind": "tool", "id": "githubPrList", "displayName": "List GitHub PRs" },
|
|
13
13
|
{ "kind": "tool", "id": "githubPrCreate", "displayName": "Create GitHub PR" },
|
|
14
14
|
{ "kind": "tool", "id": "githubFileRead", "displayName": "Read GitHub File" },
|
|
15
|
-
{ "kind": "tool", "id": "githubGistCreate", "displayName": "Create GitHub Gist" }
|
|
15
|
+
{ "kind": "tool", "id": "githubGistCreate", "displayName": "Create GitHub Gist" },
|
|
16
|
+
{ "kind": "tool", "id": "repoList", "displayName": "GitHub Repo List" },
|
|
17
|
+
{ "kind": "tool", "id": "repoInfo", "displayName": "GitHub Repo Info" },
|
|
18
|
+
{ "kind": "tool", "id": "repoCreate", "displayName": "GitHub Repo Create" },
|
|
19
|
+
{ "kind": "tool", "id": "repoIndex", "displayName": "GitHub Repo Index" },
|
|
20
|
+
{ "kind": "tool", "id": "fileWrite", "displayName": "GitHub File Write" },
|
|
21
|
+
{ "kind": "tool", "id": "branchList", "displayName": "GitHub Branch List" },
|
|
22
|
+
{ "kind": "tool", "id": "branchCreate", "displayName": "GitHub Branch Create" },
|
|
23
|
+
{ "kind": "tool", "id": "commitList", "displayName": "GitHub Commit List" },
|
|
24
|
+
{ "kind": "tool", "id": "issueUpdate", "displayName": "GitHub Issue Update" },
|
|
25
|
+
{ "kind": "tool", "id": "commentList", "displayName": "GitHub Comment List" },
|
|
26
|
+
{ "kind": "tool", "id": "prDiff", "displayName": "GitHub PR Diff" },
|
|
27
|
+
{ "kind": "tool", "id": "prReview", "displayName": "GitHub PR Review" },
|
|
28
|
+
{ "kind": "tool", "id": "prMerge", "displayName": "GitHub PR Merge" },
|
|
29
|
+
{ "kind": "tool", "id": "prCommentList", "displayName": "GitHub PR Comment List" },
|
|
30
|
+
{ "kind": "tool", "id": "prCommentCreate", "displayName": "GitHub PR Comment Create" },
|
|
31
|
+
{ "kind": "tool", "id": "releaseList", "displayName": "GitHub Release List" },
|
|
32
|
+
{ "kind": "tool", "id": "releaseCreate", "displayName": "GitHub Release Create" },
|
|
33
|
+
{ "kind": "tool", "id": "actionsList", "displayName": "GitHub Actions List" },
|
|
34
|
+
{ "kind": "tool", "id": "actionsTrigger", "displayName": "GitHub Actions Trigger" }
|
|
16
35
|
],
|
|
17
36
|
"requiredSecrets": ["github.token"],
|
|
18
37
|
"features": [
|
|
19
38
|
"Repository, code, and issue search",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
39
|
+
"Repository listing, info, creation, and codebase indexing",
|
|
40
|
+
"Issue listing, creation, and updating",
|
|
41
|
+
"Pull request listing, creation, diff, review, merge, and comments",
|
|
42
|
+
"Branch listing and creation",
|
|
43
|
+
"Commit history listing",
|
|
44
|
+
"File reading and writing",
|
|
45
|
+
"Release listing and creation",
|
|
46
|
+
"GitHub Actions workflow listing and triggering",
|
|
23
47
|
"Gist creation"
|
|
24
48
|
]
|
|
25
49
|
}
|