🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@robinpath/github

Package Overview
Dependencies
Maintainers
4
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@robinpath/github - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+36
-7
package.json
{
"name": "@robinpath/github",
"version": "0.1.0",
"publishConfig": { "access": "public" },
"version": "0.1.1",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } },
"files": ["dist"],
"scripts": { "build": "tsc" },
"peerDependencies": { "@wiredwp/robinpath": ">=0.20.0" },
"devDependencies": { "@wiredwp/robinpath": "^0.30.1", "typescript": "^5.6.0" }
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"files": [
"dist"
],
"scripts": {
"build": "tsc"
},
"peerDependencies": {
"@robinpath/core": ">=0.20.0"
},
"devDependencies": {
"@robinpath/core": "^0.30.1",
"typescript": "^5.6.0"
},
"description": "GitHub module for RobinPath.",
"keywords": [
"github",
"devops"
],
"license": "MIT",
"robinpath": {
"category": "devops",
"type": "integration",
"auth": "bearer-token",
"functionCount": 32,
"baseUrl": "https://api.github.com"
}
}
-426
import type { BuiltinHandler } from "@wiredwp/robinpath";
export declare const GithubFunctions: Record<string, BuiltinHandler>;
export declare const GithubFunctionMetadata: {
setToken: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
getRepo: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listRepos: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createRepo: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
deleteRepo: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listBranches: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
getBranch: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createBranch: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listCommits: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
getCommit: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listIssues: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createIssue: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
updateIssue: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
closeIssue: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
addIssueComment: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listIssueComments: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listPullRequests: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createPullRequest: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
mergePullRequest: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listReleases: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createRelease: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listWorkflows: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
triggerWorkflow: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listWorkflowRuns: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
getUser: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
searchRepos: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
searchCode: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listLabels: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createLabel: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
addLabels: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
listMilestones: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
createMilestone: {
description: string;
parameters: {
name: string;
dataType: string;
description: string;
formInputType: string;
required: boolean;
}[];
returnType: string;
returnDescription: string;
example: string;
};
};
export declare const GithubModuleMetadata: {
description: string;
methods: string[];
category: string;
};
//# sourceMappingURL=github.d.ts.map
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoC,MAAM,oBAAoB,CAAC;AAgd3F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAiC1D,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkWlC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC"}
// ── Internal State ──────────────────────────────────────────────────
let storedToken = "";
const API_BASE = "https://api.github.com";
// ── Helper ──────────────────────────────────────────────────────────
function getToken() {
if (!storedToken) {
throw new Error("GitHub token not set. Call github.setToken first.");
}
return storedToken;
}
function defaultHeaders() {
return {
Accept: "application/vnd.github+json",
Authorization: `Bearer ${getToken()}`,
"X-GitHub-Api-Version": "2022-11-28",
};
}
async function ghRequest(method, path, body) {
const url = path.startsWith("http") ? path : `${API_BASE}${path}`;
const opts = {
method,
headers: defaultHeaders(),
};
if (body !== undefined && body !== null) {
opts.body = JSON.stringify(body);
}
const response = await fetch(url, opts);
if (response.status === 204) {
return { ok: true, status: 204 };
}
const contentType = response.headers.get("content-type") ?? "";
let data;
if (contentType.includes("json")) {
data = (await response.json());
}
else {
data = await response.text();
}
if (!response.ok) {
const msg = typeof data === "object" && data !== null
? data.message ?? JSON.stringify(data)
: String(data);
throw new Error(`GitHub API ${method} ${path} failed (${response.status}): ${String(msg)}`);
}
return data;
}
function buildQuery(params) {
const parts = [];
for (const [key, val] of Object.entries(params)) {
if (val !== undefined && val !== null && val !== "") {
parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`);
}
}
return parts.length > 0 ? `?${parts.join("&")}` : "";
}
// ── Function Handlers ───────────────────────────────────────────────
const setToken = (args) => {
const token = String(args[0] ?? "");
if (!token)
throw new Error("Token is required");
storedToken = token;
return { ok: true, message: "GitHub token stored" };
};
// ── Repositories ────────────────────────────────────────────────────
const getRepo = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}`);
};
const listRepos = async (args) => {
const owner = args[0] ? String(args[0]) : undefined;
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
const query = buildQuery({
type: opts.type,
sort: opts.sort,
direction: opts.direction,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
if (owner) {
return ghRequest("GET", `/users/${owner}/repos${query}`);
}
return ghRequest("GET", `/user/repos${query}`);
};
const createRepo = async (args) => {
const name = String(args[0] ?? "");
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
if (!name)
throw new Error("Repository name is required");
const body = { name };
if (opts.description !== undefined)
body.description = String(opts.description);
if (opts.private !== undefined)
body.private = Boolean(opts.private);
if (opts.autoInit !== undefined)
body.auto_init = Boolean(opts.autoInit);
return ghRequest("POST", "/user/repos", body);
};
const deleteRepo = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("DELETE", `/repos/${owner}/${repo}`);
};
// ── Branches ────────────────────────────────────────────────────────
const listBranches = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}/branches`);
};
const getBranch = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const branch = String(args[2] ?? "");
if (!owner || !repo || !branch)
throw new Error("owner, repo, and branch are required");
return ghRequest("GET", `/repos/${owner}/${repo}/branches/${encodeURIComponent(branch)}`);
};
const createBranch = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const branchName = String(args[2] ?? "");
const fromBranch = String(args[3] ?? "main");
if (!owner || !repo || !branchName)
throw new Error("owner, repo, and branchName are required");
// Get the SHA of the source branch
const ref = (await ghRequest("GET", `/repos/${owner}/${repo}/git/ref/heads/${encodeURIComponent(fromBranch)}`));
const sha = ref.object?.sha ?? "";
return ghRequest("POST", `/repos/${owner}/${repo}/git/refs`, {
ref: `refs/heads/${branchName}`,
sha,
});
};
// ── Commits ─────────────────────────────────────────────────────────
const listCommits = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
if (!owner || !repo)
throw new Error("owner and repo are required");
const query = buildQuery({
sha: opts.sha,
path: opts.path,
since: opts.since,
until: opts.until,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
return ghRequest("GET", `/repos/${owner}/${repo}/commits${query}`);
};
const getCommit = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const sha = String(args[2] ?? "");
if (!owner || !repo || !sha)
throw new Error("owner, repo, and sha are required");
return ghRequest("GET", `/repos/${owner}/${repo}/commits/${sha}`);
};
// ── Issues ──────────────────────────────────────────────────────────
const listIssues = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
if (!owner || !repo)
throw new Error("owner and repo are required");
const query = buildQuery({
state: opts.state,
labels: opts.labels,
assignee: opts.assignee,
sort: opts.sort,
direction: opts.direction,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
return ghRequest("GET", `/repos/${owner}/${repo}/issues${query}`);
};
const createIssue = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const title = String(args[2] ?? "");
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo || !title)
throw new Error("owner, repo, and title are required");
const body = { title };
if (opts.body !== undefined)
body.body = String(opts.body);
if (opts.labels !== undefined)
body.labels = opts.labels;
if (opts.assignees !== undefined)
body.assignees = opts.assignees;
if (opts.milestone !== undefined)
body.milestone = Number(opts.milestone);
return ghRequest("POST", `/repos/${owner}/${repo}/issues`, body);
};
const updateIssue = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const issueNumber = Number(args[2] ?? 0);
const fields = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo || !issueNumber)
throw new Error("owner, repo, and issueNumber are required");
return ghRequest("PATCH", `/repos/${owner}/${repo}/issues/${issueNumber}`, fields);
};
const closeIssue = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const issueNumber = Number(args[2] ?? 0);
if (!owner || !repo || !issueNumber)
throw new Error("owner, repo, and issueNumber are required");
return ghRequest("PATCH", `/repos/${owner}/${repo}/issues/${issueNumber}`, { state: "closed" });
};
const addIssueComment = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const issueNumber = Number(args[2] ?? 0);
const body = String(args[3] ?? "");
if (!owner || !repo || !issueNumber)
throw new Error("owner, repo, and issueNumber are required");
if (!body)
throw new Error("Comment body is required");
return ghRequest("POST", `/repos/${owner}/${repo}/issues/${issueNumber}/comments`, { body });
};
const listIssueComments = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const issueNumber = Number(args[2] ?? 0);
if (!owner || !repo || !issueNumber)
throw new Error("owner, repo, and issueNumber are required");
return ghRequest("GET", `/repos/${owner}/${repo}/issues/${issueNumber}/comments`);
};
// ── Pull Requests ───────────────────────────────────────────────────
const listPullRequests = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {});
if (!owner || !repo)
throw new Error("owner and repo are required");
const query = buildQuery({
state: opts.state,
head: opts.head,
base: opts.base,
sort: opts.sort,
direction: opts.direction,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
return ghRequest("GET", `/repos/${owner}/${repo}/pulls${query}`);
};
const createPullRequest = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const title = String(args[2] ?? "");
const head = String(args[3] ?? "");
const base = String(args[4] ?? "");
const opts = (typeof args[5] === "object" && args[5] !== null ? args[5] : {});
if (!owner || !repo || !title || !head || !base) {
throw new Error("owner, repo, title, head, and base are required");
}
const body = { title, head, base };
if (opts.body !== undefined)
body.body = String(opts.body);
if (opts.draft !== undefined)
body.draft = Boolean(opts.draft);
return ghRequest("POST", `/repos/${owner}/${repo}/pulls`, body);
};
const mergePullRequest = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const prNumber = Number(args[2] ?? 0);
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo || !prNumber)
throw new Error("owner, repo, and prNumber are required");
const body = {};
if (opts.commitTitle !== undefined)
body.commit_title = String(opts.commitTitle);
if (opts.commitMessage !== undefined)
body.commit_message = String(opts.commitMessage);
if (opts.method !== undefined)
body.merge_method = String(opts.method);
return ghRequest("PUT", `/repos/${owner}/${repo}/pulls/${prNumber}/merge`, body);
};
// ── Releases ────────────────────────────────────────────────────────
const listReleases = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}/releases`);
};
const createRelease = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const tagName = String(args[2] ?? "");
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo || !tagName)
throw new Error("owner, repo, and tagName are required");
const body = { tag_name: tagName };
if (opts.name !== undefined)
body.name = String(opts.name);
if (opts.body !== undefined)
body.body = String(opts.body);
if (opts.draft !== undefined)
body.draft = Boolean(opts.draft);
if (opts.prerelease !== undefined)
body.prerelease = Boolean(opts.prerelease);
if (opts.targetCommitish !== undefined)
body.target_commitish = String(opts.targetCommitish);
return ghRequest("POST", `/repos/${owner}/${repo}/releases`, body);
};
// ── GitHub Actions ──────────────────────────────────────────────────
const listWorkflows = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}/actions/workflows`);
};
const triggerWorkflow = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const workflowId = args[2];
const ref = String(args[3] ?? "");
const inputs = (typeof args[4] === "object" && args[4] !== null ? args[4] : undefined);
if (!owner || !repo || !workflowId || !ref) {
throw new Error("owner, repo, workflowId, and ref are required");
}
const body = { ref };
if (inputs)
body.inputs = inputs;
return ghRequest("POST", `/repos/${owner}/${repo}/actions/workflows/${workflowId}/dispatches`, body);
};
const listWorkflowRuns = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const workflowId = args[2] ?? undefined;
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo)
throw new Error("owner and repo are required");
const query = buildQuery({
status: opts.status,
branch: opts.branch,
event: opts.event,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
if (workflowId) {
return ghRequest("GET", `/repos/${owner}/${repo}/actions/workflows/${workflowId}/runs${query}`);
}
return ghRequest("GET", `/repos/${owner}/${repo}/actions/runs${query}`);
};
// ── Users ───────────────────────────────────────────────────────────
const getUser = async (args) => {
const username = args[0] ? String(args[0]) : undefined;
if (username) {
return ghRequest("GET", `/users/${username}`);
}
return ghRequest("GET", "/user");
};
// ── Search ──────────────────────────────────────────────────────────
const searchRepos = async (args) => {
const query = String(args[0] ?? "");
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
if (!query)
throw new Error("Search query is required");
const qs = buildQuery({
q: query,
sort: opts.sort,
order: opts.order,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
return ghRequest("GET", `/search/repositories${qs}`);
};
const searchCode = async (args) => {
const query = String(args[0] ?? "");
const opts = (typeof args[1] === "object" && args[1] !== null ? args[1] : {});
if (!query)
throw new Error("Search query is required");
const qs = buildQuery({
q: query,
sort: opts.sort,
order: opts.order,
per_page: opts.perPage ?? opts.per_page,
page: opts.page,
});
return ghRequest("GET", `/search/code${qs}`);
};
// ── Labels ──────────────────────────────────────────────────────────
const listLabels = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}/labels`);
};
const createLabel = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const name = String(args[2] ?? "");
const color = String(args[3] ?? "");
const description = args[4] ? String(args[4]) : undefined;
if (!owner || !repo || !name || !color)
throw new Error("owner, repo, name, and color are required");
const body = { name, color: color.replace(/^#/, "") };
if (description !== undefined)
body.description = description;
return ghRequest("POST", `/repos/${owner}/${repo}/labels`, body);
};
const addLabels = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const issueNumber = Number(args[2] ?? 0);
const labels = args[3];
if (!owner || !repo || !issueNumber)
throw new Error("owner, repo, and issueNumber are required");
if (!Array.isArray(labels) || labels.length === 0)
throw new Error("labels array is required");
return ghRequest("POST", `/repos/${owner}/${repo}/issues/${issueNumber}/labels`, { labels });
};
// ── Milestones ──────────────────────────────────────────────────────
const listMilestones = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
if (!owner || !repo)
throw new Error("owner and repo are required");
return ghRequest("GET", `/repos/${owner}/${repo}/milestones`);
};
const createMilestone = async (args) => {
const owner = String(args[0] ?? "");
const repo = String(args[1] ?? "");
const title = String(args[2] ?? "");
const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {});
if (!owner || !repo || !title)
throw new Error("owner, repo, and title are required");
const body = { title };
if (opts.description !== undefined)
body.description = String(opts.description);
if (opts.state !== undefined)
body.state = String(opts.state);
if (opts.dueOn !== undefined)
body.due_on = String(opts.dueOn);
return ghRequest("POST", `/repos/${owner}/${repo}/milestones`, body);
};
// ── Exports ─────────────────────────────────────────────────────────
export const GithubFunctions = {
setToken,
getRepo,
listRepos,
createRepo,
deleteRepo,
listBranches,
getBranch,
createBranch,
listCommits,
getCommit,
listIssues,
createIssue,
updateIssue,
closeIssue,
addIssueComment,
listIssueComments,
listPullRequests,
createPullRequest,
mergePullRequest,
listReleases,
createRelease,
listWorkflows,
triggerWorkflow,
listWorkflowRuns,
getUser,
searchRepos,
searchCode,
listLabels,
createLabel,
addLabels,
listMilestones,
createMilestone,
};
export const GithubFunctionMetadata = {
setToken: {
description: "Store a GitHub personal access token for authentication",
parameters: [
{ name: "token", dataType: "string", description: "GitHub personal access token (ghp_... or fine-grained token)", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "{ok, message}",
example: 'github.setToken "ghp_xxxxxxxxxxxx"',
},
getRepo: {
description: "Get repository information",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner (user or org)", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "Repository object with name, description, stars, forks, etc.",
example: 'github.getRepo "octocat" "Hello-World"',
},
listRepos: {
description: "List repositories for a user or the authenticated user",
parameters: [
{ name: "owner", dataType: "string", description: "Username (omit for authenticated user)", formInputType: "text", required: false },
{ name: "options", dataType: "object", description: "{type?, sort?, direction?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "array",
returnDescription: "Array of repository objects",
example: 'github.listRepos "octocat"',
},
createRepo: {
description: "Create a new repository for the authenticated user",
parameters: [
{ name: "name", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{description?, private?, autoInit?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Created repository object",
example: 'github.createRepo "my-project" {"description": "A new project", "private": true, "autoInit": true}',
},
deleteRepo: {
description: "Delete a repository (requires delete_repo scope)",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "{ok, status}",
example: 'github.deleteRepo "myuser" "old-repo"',
},
listBranches: {
description: "List branches in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "array",
returnDescription: "Array of branch objects with name and commit info",
example: 'github.listBranches "octocat" "Hello-World"',
},
getBranch: {
description: "Get details for a specific branch",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "branch", dataType: "string", description: "Branch name", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "Branch object with name, commit, and protection status",
example: 'github.getBranch "octocat" "Hello-World" "main"',
},
createBranch: {
description: "Create a new branch from an existing branch ref",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "branchName", dataType: "string", description: "Name for the new branch", formInputType: "text", required: true },
{ name: "fromBranch", dataType: "string", description: "Source branch (default: main)", formInputType: "text", required: false },
],
returnType: "object",
returnDescription: "Git reference object for the new branch",
example: 'github.createBranch "myuser" "my-repo" "feature-x" "main"',
},
listCommits: {
description: "List commits in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{sha?, path?, since?, until?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "array",
returnDescription: "Array of commit objects",
example: 'github.listCommits "octocat" "Hello-World" {"sha": "main", "perPage": 5}',
},
getCommit: {
description: "Get a single commit by SHA",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "sha", dataType: "string", description: "Commit SHA", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "Commit object with files, stats, and metadata",
example: 'github.getCommit "octocat" "Hello-World" "abc1234"',
},
listIssues: {
description: "List issues in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{state?, labels?, assignee?, sort?, direction?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "array",
returnDescription: "Array of issue objects",
example: 'github.listIssues "octocat" "Hello-World" {"state": "open", "labels": "bug"}',
},
createIssue: {
description: "Create a new issue in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "title", dataType: "string", description: "Issue title", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{body?, labels?, assignees?, milestone?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Created issue object",
example: 'github.createIssue "myuser" "my-repo" "Bug report" {"body": "Steps to reproduce...", "labels": ["bug"]}',
},
updateIssue: {
description: "Update an existing issue",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "issueNumber", dataType: "number", description: "Issue number", formInputType: "number", required: true },
{ name: "fields", dataType: "object", description: "Fields to update: {title?, body?, state?, labels?, assignees?, milestone?}", formInputType: "json", required: true },
],
returnType: "object",
returnDescription: "Updated issue object",
example: 'github.updateIssue "myuser" "my-repo" 42 {"title": "Updated title", "labels": ["bug", "priority"]}',
},
closeIssue: {
description: "Close an issue",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "issueNumber", dataType: "number", description: "Issue number", formInputType: "number", required: true },
],
returnType: "object",
returnDescription: "Updated issue object with state 'closed'",
example: 'github.closeIssue "myuser" "my-repo" 42',
},
addIssueComment: {
description: "Add a comment to an issue or pull request",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "issueNumber", dataType: "number", description: "Issue or PR number", formInputType: "number", required: true },
{ name: "body", dataType: "string", description: "Comment body (Markdown supported)", formInputType: "textarea", required: true },
],
returnType: "object",
returnDescription: "Created comment object",
example: 'github.addIssueComment "myuser" "my-repo" 42 "This is fixed in v2.0"',
},
listIssueComments: {
description: "List comments on an issue or pull request",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "issueNumber", dataType: "number", description: "Issue or PR number", formInputType: "number", required: true },
],
returnType: "array",
returnDescription: "Array of comment objects",
example: 'github.listIssueComments "octocat" "Hello-World" 1',
},
listPullRequests: {
description: "List pull requests in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{state?, head?, base?, sort?, direction?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "array",
returnDescription: "Array of pull request objects",
example: 'github.listPullRequests "octocat" "Hello-World" {"state": "open"}',
},
createPullRequest: {
description: "Create a new pull request",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "title", dataType: "string", description: "PR title", formInputType: "text", required: true },
{ name: "head", dataType: "string", description: "Branch containing changes", formInputType: "text", required: true },
{ name: "base", dataType: "string", description: "Branch to merge into", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{body?, draft?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Created pull request object",
example: 'github.createPullRequest "myuser" "my-repo" "Add feature X" "feature-x" "main" {"body": "Description here", "draft": false}',
},
mergePullRequest: {
description: "Merge a pull request",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "prNumber", dataType: "number", description: "Pull request number", formInputType: "number", required: true },
{ name: "options", dataType: "object", description: "{commitTitle?, commitMessage?, method?} method: merge|squash|rebase", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Merge result with SHA and message",
example: 'github.mergePullRequest "myuser" "my-repo" 10 {"method": "squash"}',
},
listReleases: {
description: "List releases in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "array",
returnDescription: "Array of release objects",
example: 'github.listReleases "octocat" "Hello-World"',
},
createRelease: {
description: "Create a new release from a tag",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "tagName", dataType: "string", description: "Tag name for the release (e.g. v1.0.0)", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{name?, body?, draft?, prerelease?, targetCommitish?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Created release object",
example: 'github.createRelease "myuser" "my-repo" "v1.0.0" {"name": "Version 1.0", "body": "Release notes", "prerelease": false}',
},
listWorkflows: {
description: "List GitHub Actions workflows in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "object",
returnDescription: "Workflows object with total_count and workflows array",
example: 'github.listWorkflows "myuser" "my-repo"',
},
triggerWorkflow: {
description: "Trigger a GitHub Actions workflow dispatch event",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "workflowId", dataType: "string", description: "Workflow ID or filename (e.g. deploy.yml)", formInputType: "text", required: true },
{ name: "ref", dataType: "string", description: "Branch or tag ref to run on", formInputType: "text", required: true },
{ name: "inputs", dataType: "object", description: "Workflow input parameters", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "{ok, status}",
example: 'github.triggerWorkflow "myuser" "my-repo" "deploy.yml" "main" {"environment": "production"}',
},
listWorkflowRuns: {
description: "List workflow runs for a repository or specific workflow",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "workflowId", dataType: "string", description: "Workflow ID or filename (omit for all workflows)", formInputType: "text", required: false },
{ name: "options", dataType: "object", description: "{status?, branch?, event?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Workflow runs object with total_count and workflow_runs array",
example: 'github.listWorkflowRuns "myuser" "my-repo" "ci.yml" {"status": "completed"}',
},
getUser: {
description: "Get a user profile or the authenticated user",
parameters: [
{ name: "username", dataType: "string", description: "GitHub username (omit for authenticated user)", formInputType: "text", required: false },
],
returnType: "object",
returnDescription: "User profile object",
example: 'github.getUser "octocat"',
},
searchRepos: {
description: "Search GitHub repositories",
parameters: [
{ name: "query", dataType: "string", description: "Search query (GitHub search syntax)", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{sort?, order?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Search results with total_count and items array",
example: 'github.searchRepos "language:typescript stars:>1000" {"sort": "stars"}',
},
searchCode: {
description: "Search code across GitHub repositories",
parameters: [
{ name: "query", dataType: "string", description: "Search query (GitHub code search syntax)", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{sort?, order?, perPage?, page?}", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Search results with total_count and items array",
example: 'github.searchCode "addClass repo:jquery/jquery" {"sort": "indexed"}',
},
listLabels: {
description: "List labels in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "array",
returnDescription: "Array of label objects with name, color, and description",
example: 'github.listLabels "octocat" "Hello-World"',
},
createLabel: {
description: "Create a new label in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "name", dataType: "string", description: "Label name", formInputType: "text", required: true },
{ name: "color", dataType: "string", description: "Label color hex (e.g. 'ff0000' or '#ff0000')", formInputType: "text", required: true },
{ name: "description", dataType: "string", description: "Label description", formInputType: "text", required: false },
],
returnType: "object",
returnDescription: "Created label object",
example: 'github.createLabel "myuser" "my-repo" "priority:high" "ff0000" "High priority issues"',
},
addLabels: {
description: "Add labels to an issue or pull request",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "issueNumber", dataType: "number", description: "Issue or PR number", formInputType: "number", required: true },
{ name: "labels", dataType: "array", description: "Array of label names to add", formInputType: "json", required: true },
],
returnType: "array",
returnDescription: "Array of label objects now on the issue",
example: 'github.addLabels "myuser" "my-repo" 42 ["bug", "priority:high"]',
},
listMilestones: {
description: "List milestones in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
],
returnType: "array",
returnDescription: "Array of milestone objects",
example: 'github.listMilestones "octocat" "Hello-World"',
},
createMilestone: {
description: "Create a new milestone in a repository",
parameters: [
{ name: "owner", dataType: "string", description: "Repository owner", formInputType: "text", required: true },
{ name: "repo", dataType: "string", description: "Repository name", formInputType: "text", required: true },
{ name: "title", dataType: "string", description: "Milestone title", formInputType: "text", required: true },
{ name: "options", dataType: "object", description: "{description?, state?, dueOn?} dueOn is ISO 8601 date", formInputType: "json", required: false },
],
returnType: "object",
returnDescription: "Created milestone object",
example: 'github.createMilestone "myuser" "my-repo" "v2.0" {"description": "Version 2.0 release", "dueOn": "2025-06-01T00:00:00Z"}',
},
};
export const GithubModuleMetadata = {
description: "GitHub REST API v3 client for repositories, issues, pull requests, releases, actions, labels, milestones, and search",
methods: Object.keys(GithubFunctions),
category: "development",
};
//# sourceMappingURL=github.js.map
{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"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"}
import type { ModuleAdapter } from "@wiredwp/robinpath";
declare const GithubModule: ModuleAdapter;
export default GithubModule;
export { GithubModule };
export { GithubFunctions, GithubFunctionMetadata, GithubModuleMetadata } from "./github.js";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,YAAY,EAAE,aAMnB,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
import { GithubFunctions, GithubFunctionMetadata, GithubModuleMetadata } from "./github.js";
const GithubModule = {
name: "github",
functions: GithubFunctions,
functionMetadata: GithubFunctionMetadata,
moduleMetadata: GithubModuleMetadata,
global: false,
}; // as ModuleAdapter
export default GithubModule;
export { GithubModule };
export { GithubFunctions, GithubFunctionMetadata, GithubModuleMetadata } from "./github.js";
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE5F,MAAM,YAAY,GAAkB;IAClC,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,sBAA6B;IAC/C,cAAc,EAAE,oBAA2B;IAC3C,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}