@@ -1,33 +0,0 @@
-name: Issue Response
-
-on:
- schedule:
- - cron: "0 12 * * 2"
- workflow_dispatch:
-
-jobs:
- issue-response:
- if: github.repository_owner == 'zed-industries'
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
-
- - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
- with:
- version: 9
-
- - name: Setup Node
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
- with:
- node-version: "20"
- cache: "pnpm"
- cache-dependency-path: "script/issue_response/pnpm-lock.yaml"
-
- - run: pnpm install --dir script/issue_response
-
- - name: Run Issue Response
- run: pnpm run --dir script/issue_response start
- env:
- ISSUE_RESPONSE_GITHUB_TOKEN: ${{ secrets.ISSUE_RESPONSE_GITHUB_TOKEN }}
- SLACK_ISSUE_RESPONSE_WEBHOOK_URL: ${{ secrets.SLACK_ISSUE_RESPONSE_WEBHOOK_URL }}
@@ -1,134 +0,0 @@
-import { Octokit } from "@octokit/rest";
-import { IncomingWebhook } from "@slack/webhook";
-
-/**
- * The maximum length of the `text` in a section block.
- *
- * [Slack Docs](https://api.slack.com/reference/block-kit/blocks#section)
- */
-const SECTION_BLOCK_TEXT_LIMIT = 3000;
-const GITHUB_ISSUES_URL = "https://github.com/zed-industries/zed/issues";
-
-async function main() {
- const octokit = new Octokit({
- auth: process.env["ISSUE_RESPONSE_GITHUB_TOKEN"],
- });
-
- if (!process.env["SLACK_ISSUE_RESPONSE_WEBHOOK_URL"]) {
- throw new Error("SLACK_ISSUE_RESPONSE_WEBHOOK_URL is not set");
- }
-
- const webhook = new IncomingWebhook(
- process.env["SLACK_ISSUE_RESPONSE_WEBHOOK_URL"],
- );
-
- const owner = "zed-industries";
- const repo = "zed";
- const teams = ["staff"];
- const githubHandleSet = new Set();
-
- for (const team of teams) {
- const teamMembers = await octokit.paginate(
- octokit.rest.teams.listMembersInOrg,
- {
- org: owner,
- team_slug: team,
- per_page: 100,
- },
- );
-
- for (const teamMember of teamMembers) {
- githubHandleSet.add(teamMember.login);
- }
- }
-
- const githubHandles = Array.from(githubHandleSet);
- githubHandles.sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
- const commenterFilters = githubHandles.map((name) => `-commenter:${name}`);
- const authorFilters = githubHandles.map((name) => `-author:${name}`);
- const twoDaysAgo = new Date();
- twoDaysAgo.setDate(twoDaysAgo.getDate() - 2);
- const twoDaysAgoString = twoDaysAgo.toISOString().split("T")[0];
- const dateRangeFilter = `2025-02-01..${twoDaysAgoString}`;
-
- const q = [
- `repo:${owner}/${repo}`,
- "is:issue",
- "-type:feature",
- "-type:meta",
- "state:open",
- `created:${dateRangeFilter}`,
- "sort:created-asc",
- ...commenterFilters,
- ...authorFilters,
- ];
-
- const issues = await octokit.paginate(
- octokit.rest.search.issuesAndPullRequests,
- {
- q: q.join("+"),
- per_page: 100,
- },
- );
- const issueLines = issues.map((issue, index) => {
- const formattedDate = new Date(issue.created_at).toLocaleDateString(
- "en-US",
- {
- year: "numeric",
- month: "short",
- day: "numeric",
- },
- );
- const sanitizedTitle = issue.title
- .replaceAll("&", "&")
- .replaceAll("<", "<")
- .replaceAll(">", ">");
-
- return `${index + 1}. ${formattedDate}: <${issue.html_url}|${sanitizedTitle}>\n`;
- });
-
- const sections = [];
- /** @type {string[]} */
- let currentSection = [];
- let currentSectionLength = 0;
-
- for (const issueLine of issueLines) {
- if (currentSectionLength + issueLine.length <= SECTION_BLOCK_TEXT_LIMIT) {
- currentSection.push(issueLine);
- currentSectionLength += issueLine.length;
- } else {
- sections.push(currentSection);
- currentSection = [];
- currentSectionLength = 0;
- }
- }
-
- if (currentSection.length > 0) {
- sections.push(currentSection);
- }
-
- const blocks = sections.map((section) => ({
- type: "section",
- text: {
- type: "mrkdwn",
- text: section.join("").trimEnd(),
- },
- }));
-
- const issuesUrl = `${GITHUB_ISSUES_URL}?q=${encodeURIComponent(q.join(" "))}`;
-
- blocks.push({
- type: "section",
- text: {
- type: "mrkdwn",
- text: `<${issuesUrl}|View on GitHub>`,
- },
- });
-
- await webhook.send({ blocks });
-}
-
-main().catch((error) => {
- console.error("An error occurred:", error);
- process.exit(1);
-});
@@ -1,24 +0,0 @@
-{
- "name": "issue_response",
- "version": "1.0.0",
- "private": true,
- "main": "main.js",
- "type": "module",
- "scripts": {
- "build": "tsc -p .",
- "start": "node main.js"
- },
- "dependencies": {
- "@octokit/rest": "^21.1.1",
- "@slack/webhook": "^7.0.6",
- "date-fns": "^4.1.0",
- "octokit": "^4.1.4"
- },
- "devDependencies": {
- "@octokit/types": "^13.10.0",
- "@slack/types": "^2.16.0",
- "@tsconfig/node20": "20.1.5",
- "@tsconfig/strictest": "2.0.5",
- "typescript": "5.7.3"
- }
-}
@@ -1,644 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- '@octokit/rest':
- specifier: ^21.1.1
- version: 21.1.1
- '@slack/webhook':
- specifier: ^7.0.6
- version: 7.0.6
- date-fns:
- specifier: ^4.1.0
- version: 4.1.0
- octokit:
- specifier: ^4.1.4
- version: 4.1.4
- devDependencies:
- '@octokit/types':
- specifier: ^13.10.0
- version: 13.10.0
- '@slack/types':
- specifier: ^2.16.0
- version: 2.16.0
- '@tsconfig/node20':
- specifier: 20.1.5
- version: 20.1.5
- '@tsconfig/strictest':
- specifier: 2.0.5
- version: 2.0.5
- typescript:
- specifier: 5.7.3
- version: 5.7.3
-
-packages:
-
- '@octokit/app@15.1.6':
- resolution: {integrity: sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-app@7.2.2':
- resolution: {integrity: sha512-p6hJtEyQDCJEPN9ijjhEC/kpFHMHN4Gca9r+8S0S8EJi7NaWftaEmexjxxpT1DFBeJpN4u/5RE22ArnyypupJw==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-oauth-app@8.1.4':
- resolution: {integrity: sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-oauth-device@7.1.5':
- resolution: {integrity: sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-oauth-user@5.1.6':
- resolution: {integrity: sha512-/R8vgeoulp7rJs+wfJ2LtXEVC7pjQTIqDab7wPKwVG6+2v/lUnCOub6vaHmysQBbb45FknM3tbHW8TOVqYHxCw==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-token@5.1.2':
- resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==}
- engines: {node: '>= 18'}
-
- '@octokit/auth-unauthenticated@6.1.3':
- resolution: {integrity: sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA==}
- engines: {node: '>= 18'}
-
- '@octokit/core@6.1.6':
- resolution: {integrity: sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==}
- engines: {node: '>= 18'}
-
- '@octokit/endpoint@10.1.4':
- resolution: {integrity: sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==}
- engines: {node: '>= 18'}
-
- '@octokit/graphql@8.2.2':
- resolution: {integrity: sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==}
- engines: {node: '>= 18'}
-
- '@octokit/oauth-app@7.1.6':
- resolution: {integrity: sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==}
- engines: {node: '>= 18'}
-
- '@octokit/oauth-authorization-url@7.1.1':
- resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==}
- engines: {node: '>= 18'}
-
- '@octokit/oauth-methods@5.1.5':
- resolution: {integrity: sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw==}
- engines: {node: '>= 18'}
-
- '@octokit/openapi-types@24.2.0':
- resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==}
-
- '@octokit/openapi-types@25.1.0':
- resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==}
-
- '@octokit/openapi-webhooks-types@11.0.0':
- resolution: {integrity: sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA==}
-
- '@octokit/plugin-paginate-graphql@5.2.4':
- resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-paginate-rest@11.6.0':
- resolution: {integrity: sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-paginate-rest@12.0.0':
- resolution: {integrity: sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-request-log@5.3.1':
- resolution: {integrity: sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-rest-endpoint-methods@13.5.0':
- resolution: {integrity: sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-rest-endpoint-methods@14.0.0':
- resolution: {integrity: sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-retry@7.2.1':
- resolution: {integrity: sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=6'
-
- '@octokit/plugin-throttling@10.0.0':
- resolution: {integrity: sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': ^6.1.3
-
- '@octokit/request-error@6.1.8':
- resolution: {integrity: sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==}
- engines: {node: '>= 18'}
-
- '@octokit/request@9.2.4':
- resolution: {integrity: sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==}
- engines: {node: '>= 18'}
-
- '@octokit/rest@21.1.1':
- resolution: {integrity: sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==}
- engines: {node: '>= 18'}
-
- '@octokit/types@13.10.0':
- resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==}
-
- '@octokit/types@14.1.0':
- resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==}
-
- '@octokit/webhooks-methods@5.1.1':
- resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==}
- engines: {node: '>= 18'}
-
- '@octokit/webhooks@13.9.1':
- resolution: {integrity: sha512-Nss2b4Jyn4wB3EAqAPJypGuCJFalz/ZujKBQQ5934To7Xw9xjf4hkr/EAByxQY7hp7MKd790bWGz7XYSTsHmaw==}
- engines: {node: '>= 18'}
-
- '@slack/types@2.16.0':
- resolution: {integrity: sha512-bICnyukvdklXhwxprR3uF1+ZFkTvWTZge4evlCS4G1H1HU6QLY68AcjqzQRymf7/5gNt6Y4OBb4NdviheyZcAg==}
- engines: {node: '>= 12.13.0', npm: '>= 6.12.0'}
-
- '@slack/webhook@7.0.6':
- resolution: {integrity: sha512-RvNCcOjNbzl5uQ2TZsbTJ+A+5ptoWMwnyd/W4lKzeXFToIwebeaZiuntcP0usmhZHj1LH9H1T9WN6Bt1B/DLyg==}
- engines: {node: '>= 18', npm: '>= 8.6.0'}
-
- '@tsconfig/node20@20.1.5':
- resolution: {integrity: sha512-Vm8e3WxDTqMGPU4GATF9keQAIy1Drd7bPwlgzKJnZtoOsTm1tduUTbDjg0W5qERvGuxPI2h9RbMufH0YdfBylA==}
-
- '@tsconfig/strictest@2.0.5':
- resolution: {integrity: sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==}
-
- '@types/aws-lambda@8.10.152':
- resolution: {integrity: sha512-soT/c2gYBnT5ygwiHPmd9a1bftj462NWVk2tKCc1PYHSIacB2UwbTS2zYG4jzag1mRDuzg/OjtxQjQ2NKRB6Rw==}
-
- '@types/node@24.3.0':
- resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==}
-
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
- axios@1.11.0:
- resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==}
-
- before-after-hook@3.0.2:
- resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==}
-
- bottleneck@2.19.5:
- resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==}
-
- call-bind-apply-helpers@1.0.2:
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
- engines: {node: '>= 0.4'}
-
- combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
-
- date-fns@4.1.0:
- resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==}
-
- delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
-
- dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
-
- es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
-
- es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
-
- es-object-atoms@1.1.1:
- resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
- engines: {node: '>= 0.4'}
-
- es-set-tostringtag@2.1.0:
- resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
- engines: {node: '>= 0.4'}
-
- fast-content-type-parse@2.0.1:
- resolution: {integrity: sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==}
-
- follow-redirects@1.15.11:
- resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
-
- form-data@4.0.4:
- resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==}
- engines: {node: '>= 6'}
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- get-intrinsic@1.3.0:
- resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
- engines: {node: '>= 0.4'}
-
- get-proto@1.0.1:
- resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
- engines: {node: '>= 0.4'}
-
- gopd@1.2.0:
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
- engines: {node: '>= 0.4'}
-
- has-symbols@1.1.0:
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
- engines: {node: '>= 0.4'}
-
- has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
-
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
- octokit@4.1.4:
- resolution: {integrity: sha512-cRvxRte6FU3vAHRC9+PMSY3D+mRAs2Rd9emMoqp70UGRvJRM3sbAoim2IXRZNNsf8wVfn4sGxVBHRAP+JBVX/g==}
- engines: {node: '>= 18'}
-
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
- toad-cache@3.7.0:
- resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
- engines: {node: '>=12'}
-
- typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- undici-types@7.10.0:
- resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
-
- universal-github-app-jwt@2.2.2:
- resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==}
-
- universal-user-agent@7.0.3:
- resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==}
-
-snapshots:
-
- '@octokit/app@15.1.6':
- dependencies:
- '@octokit/auth-app': 7.2.2
- '@octokit/auth-unauthenticated': 6.1.3
- '@octokit/core': 6.1.6
- '@octokit/oauth-app': 7.1.6
- '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.6)
- '@octokit/types': 14.1.0
- '@octokit/webhooks': 13.9.1
-
- '@octokit/auth-app@7.2.2':
- dependencies:
- '@octokit/auth-oauth-app': 8.1.4
- '@octokit/auth-oauth-user': 5.1.6
- '@octokit/request': 9.2.4
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
- toad-cache: 3.7.0
- universal-github-app-jwt: 2.2.2
- universal-user-agent: 7.0.3
-
- '@octokit/auth-oauth-app@8.1.4':
- dependencies:
- '@octokit/auth-oauth-device': 7.1.5
- '@octokit/auth-oauth-user': 5.1.6
- '@octokit/request': 9.2.4
- '@octokit/types': 14.1.0
- universal-user-agent: 7.0.3
-
- '@octokit/auth-oauth-device@7.1.5':
- dependencies:
- '@octokit/oauth-methods': 5.1.5
- '@octokit/request': 9.2.4
- '@octokit/types': 14.1.0
- universal-user-agent: 7.0.3
-
- '@octokit/auth-oauth-user@5.1.6':
- dependencies:
- '@octokit/auth-oauth-device': 7.1.5
- '@octokit/oauth-methods': 5.1.5
- '@octokit/request': 9.2.4
- '@octokit/types': 14.1.0
- universal-user-agent: 7.0.3
-
- '@octokit/auth-token@5.1.2': {}
-
- '@octokit/auth-unauthenticated@6.1.3':
- dependencies:
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
-
- '@octokit/core@6.1.6':
- dependencies:
- '@octokit/auth-token': 5.1.2
- '@octokit/graphql': 8.2.2
- '@octokit/request': 9.2.4
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
- before-after-hook: 3.0.2
- universal-user-agent: 7.0.3
-
- '@octokit/endpoint@10.1.4':
- dependencies:
- '@octokit/types': 14.1.0
- universal-user-agent: 7.0.3
-
- '@octokit/graphql@8.2.2':
- dependencies:
- '@octokit/request': 9.2.4
- '@octokit/types': 14.1.0
- universal-user-agent: 7.0.3
-
- '@octokit/oauth-app@7.1.6':
- dependencies:
- '@octokit/auth-oauth-app': 8.1.4
- '@octokit/auth-oauth-user': 5.1.6
- '@octokit/auth-unauthenticated': 6.1.3
- '@octokit/core': 6.1.6
- '@octokit/oauth-authorization-url': 7.1.1
- '@octokit/oauth-methods': 5.1.5
- '@types/aws-lambda': 8.10.152
- universal-user-agent: 7.0.3
-
- '@octokit/oauth-authorization-url@7.1.1': {}
-
- '@octokit/oauth-methods@5.1.5':
- dependencies:
- '@octokit/oauth-authorization-url': 7.1.1
- '@octokit/request': 9.2.4
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
-
- '@octokit/openapi-types@24.2.0': {}
-
- '@octokit/openapi-types@25.1.0': {}
-
- '@octokit/openapi-webhooks-types@11.0.0': {}
-
- '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
-
- '@octokit/plugin-paginate-rest@11.6.0(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/types': 13.10.0
-
- '@octokit/plugin-paginate-rest@12.0.0(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/types': 14.1.0
-
- '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
-
- '@octokit/plugin-rest-endpoint-methods@13.5.0(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/types': 13.10.0
-
- '@octokit/plugin-rest-endpoint-methods@14.0.0(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/types': 14.1.0
-
- '@octokit/plugin-retry@7.2.1(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
- bottleneck: 2.19.5
-
- '@octokit/plugin-throttling@10.0.0(@octokit/core@6.1.6)':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/types': 14.1.0
- bottleneck: 2.19.5
-
- '@octokit/request-error@6.1.8':
- dependencies:
- '@octokit/types': 14.1.0
-
- '@octokit/request@9.2.4':
- dependencies:
- '@octokit/endpoint': 10.1.4
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
- fast-content-type-parse: 2.0.1
- universal-user-agent: 7.0.3
-
- '@octokit/rest@21.1.1':
- dependencies:
- '@octokit/core': 6.1.6
- '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.6)
- '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.6)
- '@octokit/plugin-rest-endpoint-methods': 13.5.0(@octokit/core@6.1.6)
-
- '@octokit/types@13.10.0':
- dependencies:
- '@octokit/openapi-types': 24.2.0
-
- '@octokit/types@14.1.0':
- dependencies:
- '@octokit/openapi-types': 25.1.0
-
- '@octokit/webhooks-methods@5.1.1': {}
-
- '@octokit/webhooks@13.9.1':
- dependencies:
- '@octokit/openapi-webhooks-types': 11.0.0
- '@octokit/request-error': 6.1.8
- '@octokit/webhooks-methods': 5.1.1
-
- '@slack/types@2.16.0': {}
-
- '@slack/webhook@7.0.6':
- dependencies:
- '@slack/types': 2.16.0
- '@types/node': 24.3.0
- axios: 1.11.0
- transitivePeerDependencies:
- - debug
-
- '@tsconfig/node20@20.1.5': {}
-
- '@tsconfig/strictest@2.0.5': {}
-
- '@types/aws-lambda@8.10.152': {}
-
- '@types/node@24.3.0':
- dependencies:
- undici-types: 7.10.0
-
- asynckit@0.4.0: {}
-
- axios@1.11.0:
- dependencies:
- follow-redirects: 1.15.11
- form-data: 4.0.4
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
- before-after-hook@3.0.2: {}
-
- bottleneck@2.19.5: {}
-
- call-bind-apply-helpers@1.0.2:
- dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
-
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
-
- date-fns@4.1.0: {}
-
- delayed-stream@1.0.0: {}
-
- dunder-proto@1.0.1:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-errors: 1.3.0
- gopd: 1.2.0
-
- es-define-property@1.0.1: {}
-
- es-errors@1.3.0: {}
-
- es-object-atoms@1.1.1:
- dependencies:
- es-errors: 1.3.0
-
- es-set-tostringtag@2.1.0:
- dependencies:
- es-errors: 1.3.0
- get-intrinsic: 1.3.0
- has-tostringtag: 1.0.2
- hasown: 2.0.2
-
- fast-content-type-parse@2.0.1: {}
-
- follow-redirects@1.15.11: {}
-
- form-data@4.0.4:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- es-set-tostringtag: 2.1.0
- hasown: 2.0.2
- mime-types: 2.1.35
-
- function-bind@1.1.2: {}
-
- get-intrinsic@1.3.0:
- dependencies:
- call-bind-apply-helpers: 1.0.2
- es-define-property: 1.0.1
- es-errors: 1.3.0
- es-object-atoms: 1.1.1
- function-bind: 1.1.2
- get-proto: 1.0.1
- gopd: 1.2.0
- has-symbols: 1.1.0
- hasown: 2.0.2
- math-intrinsics: 1.1.0
-
- get-proto@1.0.1:
- dependencies:
- dunder-proto: 1.0.1
- es-object-atoms: 1.1.1
-
- gopd@1.2.0: {}
-
- has-symbols@1.1.0: {}
-
- has-tostringtag@1.0.2:
- dependencies:
- has-symbols: 1.1.0
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- math-intrinsics@1.1.0: {}
-
- mime-db@1.52.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- octokit@4.1.4:
- dependencies:
- '@octokit/app': 15.1.6
- '@octokit/core': 6.1.6
- '@octokit/oauth-app': 7.1.6
- '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.6)
- '@octokit/plugin-paginate-rest': 12.0.0(@octokit/core@6.1.6)
- '@octokit/plugin-rest-endpoint-methods': 14.0.0(@octokit/core@6.1.6)
- '@octokit/plugin-retry': 7.2.1(@octokit/core@6.1.6)
- '@octokit/plugin-throttling': 10.0.0(@octokit/core@6.1.6)
- '@octokit/request-error': 6.1.8
- '@octokit/types': 14.1.0
- '@octokit/webhooks': 13.9.1
-
- proxy-from-env@1.1.0: {}
-
- toad-cache@3.7.0: {}
-
- typescript@5.7.3: {}
-
- undici-types@7.10.0: {}
-
- universal-github-app-jwt@2.2.2: {}
-
- universal-user-agent@7.0.3: {}
@@ -1,9 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "extends": ["@tsconfig/node20/tsconfig.json", "@tsconfig/strictest/tsconfig.json"],
- "compilerOptions": {
- "checkJs": true,
- "noEmit": true
- },
- "include": ["main.js"]
-}