Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-27T23:30:45.537Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

get-pull-requests-since

68 lines · 2.0 KB · text
1#!/usr/bin/env node --redirect-warnings=/dev/null
2
3const { execFileSync } = require("child_process");
4let { GITHUB_ACCESS_TOKEN } = process.env;
5const PR_REGEX = /#\d+/; // Ex: matches on #4241
6const FIXES_REGEX = /(fixes|closes|completes) (.+[/#]\d+.*)$/im;
7
8main();
9
10async function main() {
11  if (!GITHUB_ACCESS_TOKEN) {
12    try {
13      GITHUB_ACCESS_TOKEN = execFileSync("gh", ["auth", "token"]).toString();
14    } catch (error) {
15      console.log(error);
16      console.log("No GITHUB_ACCESS_TOKEN, and no `gh auth token`");
17      process.exit(1);
18    }
19  }
20
21  // Use form of: YYYY-MM-DD - 2023-01-09
22  const startDate = new Date(process.argv[2]);
23  const today = new Date();
24
25  console.log(`Pull requests from ${startDate} to ${today}\n`);
26
27  let pullRequestNumbers = getPullRequestNumbers(startDate, today);
28
29  // Fetch the pull requests from the GitHub API.
30  console.log("Merged pull requests:");
31  for (const pullRequestNumber of pullRequestNumbers) {
32    const webURL = `https://github.com/zed-industries/zed/pull/${pullRequestNumber}`;
33    const apiURL = `https://api.github.com/repos/zed-industries/zed/pulls/${pullRequestNumber}`;
34
35    const response = await fetch(apiURL, {
36      headers: {
37        Authorization: `token ${GITHUB_ACCESS_TOKEN}`,
38      },
39    });
40
41    const pullRequest = await response.json();
42    console.log("*", pullRequest.title);
43    console.log("  PR URL:    ", webURL);
44    console.log("  Merged:    ", pullRequest.merged_at);
45    console.log();
46  }
47}
48
49function getPullRequestNumbers(startDate, endDate) {
50  const sinceDate = startDate.toISOString();
51  const untilDate = endDate.toISOString();
52
53  const pullRequestNumbers = execFileSync(
54    "git",
55    ["log", `--since=${sinceDate}`, `--until=${untilDate}`, "--oneline"],
56    { encoding: "utf8" },
57  )
58    .split("\n")
59    .filter((line) => line.length > 0)
60    .map((line) => {
61      const match = line.match(/#(\d+)/);
62      return match ? match[1] : null;
63    })
64    .filter((line) => line);
65
66  return pullRequestNumbers;
67}
68
Served at tenant.openagents/omega Member data and write actions are omitted.