mirror of
https://github.com/Snigdha-OS/Snigdha-OS.github.io.git
synced 2025-12-08 15:33:51 +01:00
🚀 feat(_route): add dev to origin
This commit is contained in:
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/request-error
generated
vendored
Symbolic link
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/request-error
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../@octokit+request-error@5.1.0/node_modules/@octokit/request-error
|
||||
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks-methods
generated
vendored
Symbolic link
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks-methods
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../@octokit+webhooks-methods@4.1.0/node_modules/@octokit/webhooks-methods
|
||||
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks-types
generated
vendored
Symbolic link
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks-types
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../@octokit+webhooks-types@7.6.1/node_modules/@octokit/webhooks-types
|
||||
20
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/LICENSE.md
generated
vendored
Normal file
20
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright (c) 2017 Gregor Martynus
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
682
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/README.md
generated
vendored
Normal file
682
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/README.md
generated
vendored
Normal file
@@ -0,0 +1,682 @@
|
||||
# @octokit/webhooks
|
||||
|
||||
> GitHub webhook events toolset for Node.js
|
||||
|
||||
[](https://www.npmjs.com/package/@octokit/webhooks)
|
||||
[](https://github.com/octokit/webhooks.js/actions?query=workflow)
|
||||
|
||||
<!-- toc -->
|
||||
|
||||
- [Usage](#usage)
|
||||
- [Local development](#local-development)
|
||||
- [API](#api)
|
||||
- [Constructor](#constructor)
|
||||
- [webhooks.sign()](#webhookssign)
|
||||
- [webhooks.verify()](#webhooksverify)
|
||||
- [webhooks.verifyAndReceive()](#webhooksverifyandreceive)
|
||||
- [webhooks.receive()](#webhooksreceive)
|
||||
- [webhooks.on()](#webhookson)
|
||||
- [webhooks.onAny()](#webhooksonany)
|
||||
- [webhooks.onError()](#webhooksonerror)
|
||||
- [webhooks.removeListener()](#webhooksremovelistener)
|
||||
- [createNodeMiddleware()](#createnodemiddleware)
|
||||
- [Webhook events](#webhook-events)
|
||||
- [emitterEventNames](#emittereventnames)
|
||||
- [TypeScript](#typescript)
|
||||
- [`EmitterWebhookEventName`](#emitterwebhookeventname)
|
||||
- [`EmitterWebhookEvent`](#emitterwebhookevent)
|
||||
- [License](#license)
|
||||
|
||||
<!-- tocstop -->
|
||||
|
||||
`@octokit/webhooks` helps to handle webhook events received from GitHub.
|
||||
|
||||
[GitHub webhooks](https://docs.github.com/webhooks/) can be registered in multiple ways
|
||||
|
||||
1. In repository or organization settings on [github.com](https://github.com/).
|
||||
2. Using the REST API for [repositories](https://docs.github.com/rest/reference/repos#webhooks) or [organizations](https://docs.github.com/rest/reference/orgs#webhooks/)
|
||||
3. By [creating a GitHub App](https://docs.github.com/developers/apps/creating-a-github-app).
|
||||
|
||||
Note that while setting a secret is optional on GitHub, it is required to be set in order to use `@octokit/webhooks`. Content Type must be set to `application/json`, `application/x-www-form-urlencoded` is not supported.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
// install with: npm install @octokit/webhooks
|
||||
const { Webhooks, createNodeMiddleware } = require("@octokit/webhooks");
|
||||
const webhooks = new Webhooks({
|
||||
secret: "mysecret",
|
||||
});
|
||||
|
||||
webhooks.onAny(({ id, name, payload }) => {
|
||||
console.log(name, "event received");
|
||||
});
|
||||
|
||||
require("http").createServer(createNodeMiddleware(webhooks)).listen(3000);
|
||||
// can now receive webhook events at /api/github/webhooks
|
||||
```
|
||||
|
||||
## Local development
|
||||
|
||||
You can receive webhooks on your local machine or even browser using [EventSource](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) and [smee.io](https://smee.io/).
|
||||
|
||||
Go to [smee.io](https://smee.io/) and <kbd>Start a new channel</kbd>. Then copy the "Webhook Proxy URL" and
|
||||
|
||||
1. enter it in the GitHub App’s "Webhook URL" input
|
||||
2. pass it to the [EventSource](https://github.com/EventSource/eventsource) constructor, see below
|
||||
|
||||
```js
|
||||
const webhookProxyUrl = "https://smee.io/IrqK0nopGAOc847"; // replace with your own Webhook Proxy URL
|
||||
const source = new EventSource(webhookProxyUrl);
|
||||
source.onmessage = (event) => {
|
||||
const webhookEvent = JSON.parse(event.data);
|
||||
webhooks
|
||||
.verifyAndReceive({
|
||||
id: webhookEvent["x-request-id"],
|
||||
name: webhookEvent["x-github-event"],
|
||||
signature: webhookEvent["x-hub-signature"],
|
||||
payload: JSON.stringify(webhookEvent.body),
|
||||
})
|
||||
.catch(console.error);
|
||||
};
|
||||
```
|
||||
|
||||
`EventSource` is a native browser API and can be polyfilled for browsers that don’t support it. In node, you can use the [`eventsource`](https://github.com/EventSource/eventsource) package: install with `npm install eventsource`, then `const EventSource = require('eventsource')`
|
||||
|
||||
## API
|
||||
|
||||
1. [Constructor](#constructor)
|
||||
2. [webhooks.sign()](#webhookssign)
|
||||
3. [webhooks.verify()](#webhooksverify)
|
||||
4. [webhooks.verifyAndReceive()](#webhooksverifyandreceive)
|
||||
5. [webhooks.receive()](#webhooksreceive)
|
||||
6. [webhooks.on()](#webhookson)
|
||||
7. [webhooks.onAny()](#webhooksonany)
|
||||
8. [webhooks.onError()](#webhooksonerror)
|
||||
9. [webhooks.removeListener()](#webhooksremovelistener)
|
||||
10. [createNodeMiddleware()](#createnodemiddleware)
|
||||
11. [Webhook events](#webhook-events)
|
||||
12. [emitterEventNames](#emittereventnames)
|
||||
|
||||
### Constructor
|
||||
|
||||
```js
|
||||
new Webhooks({ secret /*, transform */ });
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>secret</code>
|
||||
<em>(String)</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Secret as configured in GitHub Settings.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>transform</code>
|
||||
<em>(Function)</em>
|
||||
</td>
|
||||
<td>
|
||||
Only relevant for <a href="#webhookson"><code>webhooks.on</code></a>.
|
||||
Transform emitted event before calling handlers. Can be asynchronous.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>log</code>
|
||||
<em>
|
||||
object
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Used for internal logging. Defaults to [`console`](https://developer.mozilla.org/en-US/docs/Web/API/console) with `debug` and `info` doing nothing.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Returns the `webhooks` API.
|
||||
|
||||
### webhooks.sign()
|
||||
|
||||
```js
|
||||
webhooks.sign(eventPayload);
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventPayload</code>
|
||||
<em>
|
||||
(String)
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Webhook request payload as received from GitHub
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Returns a `signature` string. Throws error if `eventPayload` is not passed.
|
||||
|
||||
The `sign` method can be imported as static method from [`@octokit/webhooks-methods`](https://github.com/octokit/webhooks-methods.js/#readme).
|
||||
|
||||
### webhooks.verify()
|
||||
|
||||
```js
|
||||
webhooks.verify(eventPayload, signature);
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventPayload</code>
|
||||
<em>
|
||||
(String)
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Webhook event request payload as received from GitHub.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>signature</code>
|
||||
<em>
|
||||
(String)
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Signature string as calculated by <code><a href="#webhookssign">webhooks.sign()</a></code>.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Returns `true` or `false`. Throws error if `eventPayload` or `signature` not passed.
|
||||
|
||||
The `verify` method can be imported as static method from [`@octokit/webhooks-methods`](https://github.com/octokit/webhooks-methods.js/#readme).
|
||||
|
||||
### webhooks.verifyAndReceive()
|
||||
|
||||
```js
|
||||
webhooks.verifyAndReceive({ id, name, payload, signature });
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>id</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
Unique webhook event request id
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>name</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Name of the event. (Event names are set as <a href="https://docs.github.com/developers/webhooks-and-events/webhook-events-and-payloads#delivery-headers"><code>X-GitHub-Event</code> header</a>
|
||||
in the webhook event request.)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>payload</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Webhook event request payload as received from GitHub.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>signature</code>
|
||||
<em>
|
||||
(String)
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Signature string as calculated by <code><a href="#webhookssign">webhooks.sign()</a></code>.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Returns a promise.
|
||||
|
||||
Verifies event using [webhooks.verify()](#webhooksverify), then handles the event using [webhooks.receive()](#webhooksreceive).
|
||||
|
||||
Additionally, if verification fails, rejects the returned promise and emits an `error` event.
|
||||
|
||||
Example
|
||||
|
||||
```js
|
||||
const { Webhooks } = require("@octokit/webhooks");
|
||||
const webhooks = new Webhooks({
|
||||
secret: "mysecret",
|
||||
});
|
||||
eventHandler.on("error", handleSignatureVerificationError);
|
||||
|
||||
// put this inside your webhooks route handler
|
||||
eventHandler
|
||||
.verifyAndReceive({
|
||||
id: request.headers["x-github-delivery"],
|
||||
name: request.headers["x-github-event"],
|
||||
payload: request.body,
|
||||
signature: request.headers["x-hub-signature-256"],
|
||||
})
|
||||
.catch(handleErrorsFromHooks);
|
||||
```
|
||||
|
||||
### webhooks.receive()
|
||||
|
||||
```js
|
||||
webhooks.receive({ id, name, payload });
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>id</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
Unique webhook event request id
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>name</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Name of the event. (Event names are set as <a href="https://docs.github.com/developers/webhooks-and-events/webhook-events-and-payloads#delivery-headers"><code>X-GitHub-Event</code> header</a>
|
||||
in the webhook event request.)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>payload</code>
|
||||
<em>
|
||||
Object
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Webhook event request payload as received from GitHub.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Returns a promise. Runs all handlers set with [`webhooks.on()`](#webhookson) in parallel and waits for them to finish. If one of the handlers rejects or throws an error, then `webhooks.receive()` rejects. The returned error has an `.errors` property which holds an array of all errors caught from the handlers. If no errors occur, `webhooks.receive()` resolves without passing any value.
|
||||
|
||||
The `.receive()` method belongs to the `event-handler` module which can be used [standalone](src/event-handler/).
|
||||
|
||||
### webhooks.on()
|
||||
|
||||
```js
|
||||
webhooks.on(eventName, handler);
|
||||
webhooks.on(eventNames, handler);
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventName</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Name of the event. One of <a href="#webhook-events">GitHub's supported event names</a>, or (if the event has an action property) the name of an event followed by its action in the form of <code><event>.<action></code>.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventNames</code>
|
||||
<em>
|
||||
Array
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Array of event names.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>handler</code>
|
||||
<em>
|
||||
Function
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Method to be run each time the event with the passed name is received.
|
||||
the <code>handler</code> function can be an async function, throw an error or
|
||||
return a Promise. The handler is called with an event object: <code>{id, name, payload}</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
The `.on()` method belongs to the `event-handler` module which can be used [standalone](src/event-handler/).
|
||||
|
||||
### webhooks.onAny()
|
||||
|
||||
```js
|
||||
webhooks.onAny(handler);
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>handler</code>
|
||||
<em>
|
||||
Function
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Method to be run each time any event is received.
|
||||
the <code>handler</code> function can be an async function, throw an error or
|
||||
return a Promise. The handler is called with an event object: <code>{id, name, payload}</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
The `.onAny()` method belongs to the `event-handler` module which can be used [standalone](src/event-handler/).
|
||||
|
||||
### webhooks.onError()
|
||||
|
||||
```js
|
||||
webhooks.onError(handler);
|
||||
```
|
||||
|
||||
If a webhook event handler throws an error or returns a promise that rejects, an error event is triggered. You can use this handler for logging or reporting events. The passed error object has a .event property which has all information on the event.
|
||||
|
||||
Asynchronous `error` event handler are not blocking the `.receive()` method from completing.
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>handler</code>
|
||||
<em>
|
||||
Function
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Method to be run each time a webhook event handler throws an error or returns a promise that rejects.
|
||||
The <code>handler</code> function can be an async function,
|
||||
return a Promise. The handler is called with an error object that has a .event property which has all the information on the event: <code>{id, name, payload}</code>.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
The `.onError()` method belongs to the `event-handler` module which can be used [standalone](src/event-handler/).
|
||||
|
||||
### webhooks.removeListener()
|
||||
|
||||
```js
|
||||
webhooks.removeListener(eventName, handler);
|
||||
webhooks.removeListener(eventNames, handler);
|
||||
```
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventName</code>
|
||||
<em>
|
||||
String
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Name of the event. One of <a href="#webhook-events">GitHub's supported event names</a>, or (if the event has an action property) the name of an event followed by its action in the form of <code><event>.<action></code>, or '*' for the <code>onAny()</code> method or 'error' for the <code>onError()</code> method.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>eventNames</code>
|
||||
<em>
|
||||
Array
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Array of event names.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>handler</code>
|
||||
<em>
|
||||
Function
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
Method which was previously passed to <code><a href="webhookson">webhooks.on()</a></code>. If the same handler was registered multiple times for the same event, only the most recent handler gets removed.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
The `.removeListener()` method belongs to the `event-handler` module which can be used [standalone](src/event-handler/).
|
||||
|
||||
### createNodeMiddleware()
|
||||
|
||||
```js
|
||||
const { createServer } = require("http");
|
||||
const { Webhooks, createNodeMiddleware } = require("@octokit/webhooks");
|
||||
|
||||
const webhooks = new Webhooks({
|
||||
secret: "mysecret",
|
||||
});
|
||||
|
||||
const middleware = createNodeMiddleware(webhooks, { path: "/webhooks" });
|
||||
createServer(async (req, res) => {
|
||||
// `middleware` returns `false` when `req` is unhandled (beyond `/webhooks`)
|
||||
if (await middleware(req, res)) return;
|
||||
res.writeHead(404);
|
||||
res.end();
|
||||
}).listen(3000);
|
||||
// can now receive user authorization callbacks at POST /webhooks
|
||||
```
|
||||
|
||||
The middleware returned from `createNodeMiddleware` can also serve as an
|
||||
`Express.js` middleware directly.
|
||||
|
||||
<table width="100%">
|
||||
<tbody valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<code>webhooks</code>
|
||||
<em>
|
||||
Webhooks instance
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
<strong>Required.</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>path</code>
|
||||
<em>
|
||||
string
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
Custom path to match requests against. Defaults to <code>/api/github/webhooks</code>.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<code>log</code>
|
||||
<em>
|
||||
object
|
||||
</em>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Used for internal logging. Defaults to [`console`](https://developer.mozilla.org/en-US/docs/Web/API/console) with `debug` and `info` doing nothing.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
</table>
|
||||
|
||||
### Webhook events
|
||||
|
||||
See the full list of [event types with example payloads](https://docs.github.com/developers/webhooks-and-events/webhook-events-and-payloads/).
|
||||
|
||||
If there are actions for a webhook, events are emitted for both, the webhook name as well as a combination of the webhook name and the action, e.g. `installation` and `installation.created`.
|
||||
|
||||
<!-- autogenerated via scripts/generate-types.ts -->
|
||||
|
||||
| Event | Actions |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| [`branch_protection_configuration`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_configuration) | `disabled`<br>`enabled` |
|
||||
| [`branch_protection_rule`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#branch_protection_rule) | `created`<br>`deleted`<br>`edited` |
|
||||
| [`check_run`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#check_run) | `completed`<br>`created`<br>`requested_action`<br>`rerequested` |
|
||||
| [`check_suite`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#check_suite) | `completed`<br>`requested`<br>`rerequested` |
|
||||
| [`code_scanning_alert`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#code_scanning_alert) | `appeared_in_branch`<br>`closed_by_user`<br>`created`<br>`fixed`<br>`reopened`<br>`reopened_by_user` |
|
||||
| [`commit_comment`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#commit_comment) | `created` |
|
||||
| [`create`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#create) | |
|
||||
| [`custom_property`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#custom_property) | `created`<br>`deleted` |
|
||||
| [`custom_property_values`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#custom_property_values) | `updated` |
|
||||
| [`delete`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#delete) | |
|
||||
| [`dependabot_alert`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#dependabot_alert) | `created`<br>`dismissed`<br>`fixed`<br>`reintroduced`<br>`reopened` |
|
||||
| [`deploy_key`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deploy_key) | `created`<br>`deleted` |
|
||||
| [`deployment`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment) | `created` |
|
||||
| [`deployment_protection_rule`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment_protection_rule) | `requested` |
|
||||
| [`deployment_review`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment_review) | `approved`<br>`rejected`<br>`requested` |
|
||||
| [`deployment_status`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#deployment_status) | `created` |
|
||||
| [`discussion`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#discussion) | `answered`<br>`category_changed`<br>`created`<br>`deleted`<br>`edited`<br>`labeled`<br>`locked`<br>`pinned`<br>`transferred`<br>`unanswered`<br>`unlabeled`<br>`unlocked`<br>`unpinned` |
|
||||
| [`discussion_comment`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#discussion_comment) | `created`<br>`deleted`<br>`edited` |
|
||||
| [`fork`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#fork) | |
|
||||
| [`github_app_authorization`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#github_app_authorization) | `revoked` |
|
||||
| [`gollum`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#gollum) | |
|
||||
| [`installation`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#installation) | `created`<br>`deleted`<br>`new_permissions_accepted`<br>`suspend`<br>`unsuspend` |
|
||||
| [`installation_repositories`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#installation_repositories) | `added`<br>`removed` |
|
||||
| [`installation_target`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#installation_target) | `renamed` |
|
||||
| [`issue_comment`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issue_comment) | `created`<br>`deleted`<br>`edited` |
|
||||
| [`issues`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#issues) | `assigned`<br>`closed`<br>`deleted`<br>`demilestoned`<br>`edited`<br>`labeled`<br>`locked`<br>`milestoned`<br>`opened`<br>`pinned`<br>`reopened`<br>`transferred`<br>`unassigned`<br>`unlabeled`<br>`unlocked`<br>`unpinned` |
|
||||
| [`label`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#label) | `created`<br>`deleted`<br>`edited` |
|
||||
| [`marketplace_purchase`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#marketplace_purchase) | `cancelled`<br>`changed`<br>`pending_change`<br>`pending_change_cancelled`<br>`purchased` |
|
||||
| [`member`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#member) | `added`<br>`edited`<br>`removed` |
|
||||
| [`membership`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#membership) | `added`<br>`removed` |
|
||||
| [`merge_group`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#merge_group) | `checks_requested`<br>`destroyed` |
|
||||
| [`meta`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#meta) | `deleted` |
|
||||
| [`milestone`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#milestone) | `closed`<br>`created`<br>`deleted`<br>`edited`<br>`opened` |
|
||||
| [`org_block`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#org_block) | `blocked`<br>`unblocked` |
|
||||
| [`organization`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#organization) | `deleted`<br>`member_added`<br>`member_invited`<br>`member_removed`<br>`renamed` |
|
||||
| [`package`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#package) | `published`<br>`updated` |
|
||||
| [`page_build`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#page_build) | |
|
||||
| [`ping`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#ping) | |
|
||||
| [`project`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project) | `closed`<br>`created`<br>`deleted`<br>`edited`<br>`reopened` |
|
||||
| [`project_card`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project_card) | `converted`<br>`created`<br>`deleted`<br>`edited`<br>`moved` |
|
||||
| [`project_column`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#project_column) | `created`<br>`deleted`<br>`edited`<br>`moved` |
|
||||
| [`projects_v2_item`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#projects_v2_item) | `archived`<br>`converted`<br>`created`<br>`deleted`<br>`edited`<br>`reordered`<br>`restored` |
|
||||
| [`public`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#public) | |
|
||||
| [`pull_request`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request) | `assigned`<br>`auto_merge_disabled`<br>`auto_merge_enabled`<br>`closed`<br>`converted_to_draft`<br>`demilestoned`<br>`dequeued`<br>`edited`<br>`enqueued`<br>`labeled`<br>`locked`<br>`milestoned`<br>`opened`<br>`ready_for_review`<br>`reopened`<br>`review_request_removed`<br>`review_requested`<br>`synchronize`<br>`unassigned`<br>`unlabeled`<br>`unlocked` |
|
||||
| [`pull_request_review`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_review) | `dismissed`<br>`edited`<br>`submitted` |
|
||||
| [`pull_request_review_comment`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_review_comment) | `created`<br>`deleted`<br>`edited` |
|
||||
| [`pull_request_review_thread`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#pull_request_review_thread) | `resolved`<br>`unresolved` |
|
||||
| [`push`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push) | |
|
||||
| [`registry_package`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#registry_package) | `published`<br>`updated` |
|
||||
| [`release`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#release) | `created`<br>`deleted`<br>`edited`<br>`prereleased`<br>`published`<br>`released`<br>`unpublished` |
|
||||
| [`repository`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository) | `archived`<br>`created`<br>`deleted`<br>`edited`<br>`privatized`<br>`publicized`<br>`renamed`<br>`transferred`<br>`unarchived` |
|
||||
| [`repository_dispatch`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository_dispatch) | |
|
||||
| [`repository_import`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository_import) | |
|
||||
| [`repository_vulnerability_alert`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#repository_vulnerability_alert) | `create`<br>`dismiss`<br>`reopen`<br>`resolve` |
|
||||
| [`secret_scanning_alert`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#secret_scanning_alert) | `created`<br>`reopened`<br>`resolved`<br>`revoked` |
|
||||
| [`secret_scanning_alert_location`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#secret_scanning_alert_location) | `created` |
|
||||
| [`security_advisory`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#security_advisory) | `performed`<br>`published`<br>`updated`<br>`withdrawn` |
|
||||
| [`sponsorship`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#sponsorship) | `cancelled`<br>`created`<br>`edited`<br>`pending_cancellation`<br>`pending_tier_change`<br>`tier_changed` |
|
||||
| [`star`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#star) | `created`<br>`deleted` |
|
||||
| [`status`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#status) | |
|
||||
| [`team`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#team) | `added_to_repository`<br>`created`<br>`deleted`<br>`edited`<br>`removed_from_repository` |
|
||||
| [`team_add`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#team_add) | |
|
||||
| [`watch`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#watch) | `started` |
|
||||
| [`workflow_dispatch`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_dispatch) | |
|
||||
| [`workflow_job`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) | `completed`<br>`in_progress`<br>`queued`<br>`waiting` |
|
||||
| [`workflow_run`](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_run) | `completed`<br>`in_progress`<br>`requested` |
|
||||
|
||||
<!-- /autogenerated via scripts/generate-types.ts -->
|
||||
|
||||
### emitterEventNames
|
||||
|
||||
A read only tuple containing all the possible combinations of the webhook events + actions listed above. This might be useful in GUI and input validation.
|
||||
|
||||
```js
|
||||
import { emitterEventNames } from "@octokit/webhooks";
|
||||
emitterEventNames; // ["check_run", "check_run.completed", ...]
|
||||
```
|
||||
|
||||
## TypeScript
|
||||
|
||||
The types for the webhook payloads are sourced from [`@octokit/webhooks-types`](https://github.com/octokit/webhooks/tree/main/payload-types),
|
||||
which can be used by themselves.
|
||||
|
||||
In addition to these types, `@octokit/webhooks` exports 2 types specific to itself:
|
||||
|
||||
Note that changes to the exported types are not considered breaking changes, as the changes will not impact production code, but only fail locally or during CI at build time.
|
||||
|
||||
**⚠️ Caution ⚠️**: Webhooks Types are expected to be used with the [`strictNullChecks` option](https://www.typescriptlang.org/tsconfig#strictNullChecks) enabled in your `tsconfig`. If you don't have this option enabled, there's the possibility that you get `never` as the inferred type in some use cases. See [octokit/webhooks#395](https://github.com/octokit/webhooks/issues/395) for details.
|
||||
|
||||
### `EmitterWebhookEventName`
|
||||
|
||||
A union of all possible events and event/action combinations supported by the event emitter, e.g. `"check_run" | "check_run.completed" | ... many more ... | "workflow_run.requested"`.
|
||||
|
||||
### `EmitterWebhookEvent`
|
||||
|
||||
The object that is emitted by `@octokit/webhooks` as an event; made up of an `id`, `name`, and `payload` properties.
|
||||
An optional generic parameter can be passed to narrow the type of the `name` and `payload` properties based on event names or event/action combinations, e.g. `EmitterWebhookEvent<"check_run" | "code_scanning_alert.fixed">`.
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE.md)
|
||||
689
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-node/index.js
generated
vendored
Normal file
689
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-node/index.js
generated
vendored
Normal file
@@ -0,0 +1,689 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// pkg/dist-src/index.js
|
||||
var dist_src_exports = {};
|
||||
__export(dist_src_exports, {
|
||||
Webhooks: () => Webhooks,
|
||||
createEventHandler: () => createEventHandler,
|
||||
createNodeMiddleware: () => createNodeMiddleware,
|
||||
emitterEventNames: () => emitterEventNames
|
||||
});
|
||||
module.exports = __toCommonJS(dist_src_exports);
|
||||
|
||||
// pkg/dist-src/createLogger.js
|
||||
var createLogger = (logger) => ({
|
||||
debug: () => {
|
||||
},
|
||||
info: () => {
|
||||
},
|
||||
warn: console.warn.bind(console),
|
||||
error: console.error.bind(console),
|
||||
...logger
|
||||
});
|
||||
|
||||
// pkg/dist-src/generated/webhook-names.js
|
||||
var emitterEventNames = [
|
||||
"branch_protection_configuration",
|
||||
"branch_protection_configuration.disabled",
|
||||
"branch_protection_configuration.enabled",
|
||||
"branch_protection_rule",
|
||||
"branch_protection_rule.created",
|
||||
"branch_protection_rule.deleted",
|
||||
"branch_protection_rule.edited",
|
||||
"check_run",
|
||||
"check_run.completed",
|
||||
"check_run.created",
|
||||
"check_run.requested_action",
|
||||
"check_run.rerequested",
|
||||
"check_suite",
|
||||
"check_suite.completed",
|
||||
"check_suite.requested",
|
||||
"check_suite.rerequested",
|
||||
"code_scanning_alert",
|
||||
"code_scanning_alert.appeared_in_branch",
|
||||
"code_scanning_alert.closed_by_user",
|
||||
"code_scanning_alert.created",
|
||||
"code_scanning_alert.fixed",
|
||||
"code_scanning_alert.reopened",
|
||||
"code_scanning_alert.reopened_by_user",
|
||||
"commit_comment",
|
||||
"commit_comment.created",
|
||||
"create",
|
||||
"custom_property",
|
||||
"custom_property.created",
|
||||
"custom_property.deleted",
|
||||
"custom_property_values",
|
||||
"custom_property_values.updated",
|
||||
"delete",
|
||||
"dependabot_alert",
|
||||
"dependabot_alert.created",
|
||||
"dependabot_alert.dismissed",
|
||||
"dependabot_alert.fixed",
|
||||
"dependabot_alert.reintroduced",
|
||||
"dependabot_alert.reopened",
|
||||
"deploy_key",
|
||||
"deploy_key.created",
|
||||
"deploy_key.deleted",
|
||||
"deployment",
|
||||
"deployment.created",
|
||||
"deployment_protection_rule",
|
||||
"deployment_protection_rule.requested",
|
||||
"deployment_review",
|
||||
"deployment_review.approved",
|
||||
"deployment_review.rejected",
|
||||
"deployment_review.requested",
|
||||
"deployment_status",
|
||||
"deployment_status.created",
|
||||
"discussion",
|
||||
"discussion.answered",
|
||||
"discussion.category_changed",
|
||||
"discussion.created",
|
||||
"discussion.deleted",
|
||||
"discussion.edited",
|
||||
"discussion.labeled",
|
||||
"discussion.locked",
|
||||
"discussion.pinned",
|
||||
"discussion.transferred",
|
||||
"discussion.unanswered",
|
||||
"discussion.unlabeled",
|
||||
"discussion.unlocked",
|
||||
"discussion.unpinned",
|
||||
"discussion_comment",
|
||||
"discussion_comment.created",
|
||||
"discussion_comment.deleted",
|
||||
"discussion_comment.edited",
|
||||
"fork",
|
||||
"github_app_authorization",
|
||||
"github_app_authorization.revoked",
|
||||
"gollum",
|
||||
"installation",
|
||||
"installation.created",
|
||||
"installation.deleted",
|
||||
"installation.new_permissions_accepted",
|
||||
"installation.suspend",
|
||||
"installation.unsuspend",
|
||||
"installation_repositories",
|
||||
"installation_repositories.added",
|
||||
"installation_repositories.removed",
|
||||
"installation_target",
|
||||
"installation_target.renamed",
|
||||
"issue_comment",
|
||||
"issue_comment.created",
|
||||
"issue_comment.deleted",
|
||||
"issue_comment.edited",
|
||||
"issues",
|
||||
"issues.assigned",
|
||||
"issues.closed",
|
||||
"issues.deleted",
|
||||
"issues.demilestoned",
|
||||
"issues.edited",
|
||||
"issues.labeled",
|
||||
"issues.locked",
|
||||
"issues.milestoned",
|
||||
"issues.opened",
|
||||
"issues.pinned",
|
||||
"issues.reopened",
|
||||
"issues.transferred",
|
||||
"issues.unassigned",
|
||||
"issues.unlabeled",
|
||||
"issues.unlocked",
|
||||
"issues.unpinned",
|
||||
"label",
|
||||
"label.created",
|
||||
"label.deleted",
|
||||
"label.edited",
|
||||
"marketplace_purchase",
|
||||
"marketplace_purchase.cancelled",
|
||||
"marketplace_purchase.changed",
|
||||
"marketplace_purchase.pending_change",
|
||||
"marketplace_purchase.pending_change_cancelled",
|
||||
"marketplace_purchase.purchased",
|
||||
"member",
|
||||
"member.added",
|
||||
"member.edited",
|
||||
"member.removed",
|
||||
"membership",
|
||||
"membership.added",
|
||||
"membership.removed",
|
||||
"merge_group",
|
||||
"merge_group.checks_requested",
|
||||
"merge_group.destroyed",
|
||||
"meta",
|
||||
"meta.deleted",
|
||||
"milestone",
|
||||
"milestone.closed",
|
||||
"milestone.created",
|
||||
"milestone.deleted",
|
||||
"milestone.edited",
|
||||
"milestone.opened",
|
||||
"org_block",
|
||||
"org_block.blocked",
|
||||
"org_block.unblocked",
|
||||
"organization",
|
||||
"organization.deleted",
|
||||
"organization.member_added",
|
||||
"organization.member_invited",
|
||||
"organization.member_removed",
|
||||
"organization.renamed",
|
||||
"package",
|
||||
"package.published",
|
||||
"package.updated",
|
||||
"page_build",
|
||||
"ping",
|
||||
"project",
|
||||
"project.closed",
|
||||
"project.created",
|
||||
"project.deleted",
|
||||
"project.edited",
|
||||
"project.reopened",
|
||||
"project_card",
|
||||
"project_card.converted",
|
||||
"project_card.created",
|
||||
"project_card.deleted",
|
||||
"project_card.edited",
|
||||
"project_card.moved",
|
||||
"project_column",
|
||||
"project_column.created",
|
||||
"project_column.deleted",
|
||||
"project_column.edited",
|
||||
"project_column.moved",
|
||||
"projects_v2_item",
|
||||
"projects_v2_item.archived",
|
||||
"projects_v2_item.converted",
|
||||
"projects_v2_item.created",
|
||||
"projects_v2_item.deleted",
|
||||
"projects_v2_item.edited",
|
||||
"projects_v2_item.reordered",
|
||||
"projects_v2_item.restored",
|
||||
"public",
|
||||
"pull_request",
|
||||
"pull_request.assigned",
|
||||
"pull_request.auto_merge_disabled",
|
||||
"pull_request.auto_merge_enabled",
|
||||
"pull_request.closed",
|
||||
"pull_request.converted_to_draft",
|
||||
"pull_request.demilestoned",
|
||||
"pull_request.dequeued",
|
||||
"pull_request.edited",
|
||||
"pull_request.enqueued",
|
||||
"pull_request.labeled",
|
||||
"pull_request.locked",
|
||||
"pull_request.milestoned",
|
||||
"pull_request.opened",
|
||||
"pull_request.ready_for_review",
|
||||
"pull_request.reopened",
|
||||
"pull_request.review_request_removed",
|
||||
"pull_request.review_requested",
|
||||
"pull_request.synchronize",
|
||||
"pull_request.unassigned",
|
||||
"pull_request.unlabeled",
|
||||
"pull_request.unlocked",
|
||||
"pull_request_review",
|
||||
"pull_request_review.dismissed",
|
||||
"pull_request_review.edited",
|
||||
"pull_request_review.submitted",
|
||||
"pull_request_review_comment",
|
||||
"pull_request_review_comment.created",
|
||||
"pull_request_review_comment.deleted",
|
||||
"pull_request_review_comment.edited",
|
||||
"pull_request_review_thread",
|
||||
"pull_request_review_thread.resolved",
|
||||
"pull_request_review_thread.unresolved",
|
||||
"push",
|
||||
"registry_package",
|
||||
"registry_package.published",
|
||||
"registry_package.updated",
|
||||
"release",
|
||||
"release.created",
|
||||
"release.deleted",
|
||||
"release.edited",
|
||||
"release.prereleased",
|
||||
"release.published",
|
||||
"release.released",
|
||||
"release.unpublished",
|
||||
"repository",
|
||||
"repository.archived",
|
||||
"repository.created",
|
||||
"repository.deleted",
|
||||
"repository.edited",
|
||||
"repository.privatized",
|
||||
"repository.publicized",
|
||||
"repository.renamed",
|
||||
"repository.transferred",
|
||||
"repository.unarchived",
|
||||
"repository_dispatch",
|
||||
"repository_import",
|
||||
"repository_vulnerability_alert",
|
||||
"repository_vulnerability_alert.create",
|
||||
"repository_vulnerability_alert.dismiss",
|
||||
"repository_vulnerability_alert.reopen",
|
||||
"repository_vulnerability_alert.resolve",
|
||||
"secret_scanning_alert",
|
||||
"secret_scanning_alert.created",
|
||||
"secret_scanning_alert.reopened",
|
||||
"secret_scanning_alert.resolved",
|
||||
"secret_scanning_alert.revoked",
|
||||
"secret_scanning_alert_location",
|
||||
"secret_scanning_alert_location.created",
|
||||
"security_advisory",
|
||||
"security_advisory.performed",
|
||||
"security_advisory.published",
|
||||
"security_advisory.updated",
|
||||
"security_advisory.withdrawn",
|
||||
"sponsorship",
|
||||
"sponsorship.cancelled",
|
||||
"sponsorship.created",
|
||||
"sponsorship.edited",
|
||||
"sponsorship.pending_cancellation",
|
||||
"sponsorship.pending_tier_change",
|
||||
"sponsorship.tier_changed",
|
||||
"star",
|
||||
"star.created",
|
||||
"star.deleted",
|
||||
"status",
|
||||
"team",
|
||||
"team.added_to_repository",
|
||||
"team.created",
|
||||
"team.deleted",
|
||||
"team.edited",
|
||||
"team.removed_from_repository",
|
||||
"team_add",
|
||||
"watch",
|
||||
"watch.started",
|
||||
"workflow_dispatch",
|
||||
"workflow_job",
|
||||
"workflow_job.completed",
|
||||
"workflow_job.in_progress",
|
||||
"workflow_job.queued",
|
||||
"workflow_job.waiting",
|
||||
"workflow_run",
|
||||
"workflow_run.completed",
|
||||
"workflow_run.in_progress",
|
||||
"workflow_run.requested"
|
||||
];
|
||||
|
||||
// pkg/dist-src/event-handler/on.js
|
||||
function handleEventHandlers(state, webhookName, handler) {
|
||||
if (!state.hooks[webhookName]) {
|
||||
state.hooks[webhookName] = [];
|
||||
}
|
||||
state.hooks[webhookName].push(handler);
|
||||
}
|
||||
function receiverOn(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => receiverOn(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (["*", "error"].includes(webhookNameOrNames)) {
|
||||
const webhookName = webhookNameOrNames === "*" ? "any" : webhookNameOrNames;
|
||||
const message = `Using the "${webhookNameOrNames}" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.on${webhookName.charAt(0).toUpperCase() + webhookName.slice(1)}() method instead`;
|
||||
throw new Error(message);
|
||||
}
|
||||
if (!emitterEventNames.includes(webhookNameOrNames)) {
|
||||
state.log.warn(
|
||||
`"${webhookNameOrNames}" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`
|
||||
);
|
||||
}
|
||||
handleEventHandlers(state, webhookNameOrNames, handler);
|
||||
}
|
||||
function receiverOnAny(state, handler) {
|
||||
handleEventHandlers(state, "*", handler);
|
||||
}
|
||||
function receiverOnError(state, handler) {
|
||||
handleEventHandlers(state, "error", handler);
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/receive.js
|
||||
var import_aggregate_error = __toESM(require("aggregate-error"));
|
||||
|
||||
// pkg/dist-src/event-handler/wrap-error-handler.js
|
||||
function wrapErrorHandler(handler, error) {
|
||||
let returnValue;
|
||||
try {
|
||||
returnValue = handler(error);
|
||||
} catch (error2) {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
}
|
||||
if (returnValue && returnValue.catch) {
|
||||
returnValue.catch((error2) => {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/receive.js
|
||||
function getHooks(state, eventPayloadAction, eventName) {
|
||||
const hooks = [state.hooks[eventName], state.hooks["*"]];
|
||||
if (eventPayloadAction) {
|
||||
hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);
|
||||
}
|
||||
return [].concat(...hooks.filter(Boolean));
|
||||
}
|
||||
function receiverHandle(state, event) {
|
||||
const errorHandlers = state.hooks.error || [];
|
||||
if (event instanceof Error) {
|
||||
const error = Object.assign(new import_aggregate_error.default([event]), {
|
||||
event,
|
||||
errors: [event]
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
return Promise.reject(error);
|
||||
}
|
||||
if (!event || !event.name) {
|
||||
throw new import_aggregate_error.default(["Event name not passed"]);
|
||||
}
|
||||
if (!event.payload) {
|
||||
throw new import_aggregate_error.default(["Event payload not passed"]);
|
||||
}
|
||||
const hooks = getHooks(
|
||||
state,
|
||||
"action" in event.payload ? event.payload.action : null,
|
||||
event.name
|
||||
);
|
||||
if (hooks.length === 0) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
const errors = [];
|
||||
const promises = hooks.map((handler) => {
|
||||
let promise = Promise.resolve(event);
|
||||
if (state.transform) {
|
||||
promise = promise.then(state.transform);
|
||||
}
|
||||
return promise.then((event2) => {
|
||||
return handler(event2);
|
||||
}).catch((error) => errors.push(Object.assign(error, { event })));
|
||||
});
|
||||
return Promise.all(promises).then(() => {
|
||||
if (errors.length === 0) {
|
||||
return;
|
||||
}
|
||||
const error = new import_aggregate_error.default(errors);
|
||||
Object.assign(error, {
|
||||
event,
|
||||
errors
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/remove-listener.js
|
||||
function removeListener(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => removeListener(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!state.hooks[webhookNameOrNames]) {
|
||||
return;
|
||||
}
|
||||
for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {
|
||||
if (state.hooks[webhookNameOrNames][i] === handler) {
|
||||
state.hooks[webhookNameOrNames].splice(i, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/index.js
|
||||
function createEventHandler(options) {
|
||||
const state = {
|
||||
hooks: {},
|
||||
log: createLogger(options && options.log)
|
||||
};
|
||||
if (options && options.transform) {
|
||||
state.transform = options.transform;
|
||||
}
|
||||
return {
|
||||
on: receiverOn.bind(null, state),
|
||||
onAny: receiverOnAny.bind(null, state),
|
||||
onError: receiverOnError.bind(null, state),
|
||||
removeListener: removeListener.bind(null, state),
|
||||
receive: receiverHandle.bind(null, state)
|
||||
};
|
||||
}
|
||||
|
||||
// pkg/dist-src/index.js
|
||||
var import_webhooks_methods2 = require("@octokit/webhooks-methods");
|
||||
|
||||
// pkg/dist-src/verify-and-receive.js
|
||||
var import_aggregate_error2 = __toESM(require("aggregate-error"));
|
||||
var import_webhooks_methods = require("@octokit/webhooks-methods");
|
||||
async function verifyAndReceive(state, event) {
|
||||
const matchesSignature = await (0, import_webhooks_methods.verify)(
|
||||
state.secret,
|
||||
event.payload,
|
||||
event.signature
|
||||
).catch(() => false);
|
||||
if (!matchesSignature) {
|
||||
const error = new Error(
|
||||
"[@octokit/webhooks] signature does not match event payload and secret"
|
||||
);
|
||||
return state.eventHandler.receive(
|
||||
Object.assign(error, { event, status: 400 })
|
||||
);
|
||||
}
|
||||
let payload;
|
||||
try {
|
||||
payload = JSON.parse(event.payload);
|
||||
} catch (error) {
|
||||
error.message = "Invalid JSON";
|
||||
error.status = 400;
|
||||
throw new import_aggregate_error2.default([error]);
|
||||
}
|
||||
return state.eventHandler.receive({
|
||||
id: event.id,
|
||||
name: event.name,
|
||||
payload
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/get-missing-headers.js
|
||||
var WEBHOOK_HEADERS = [
|
||||
"x-github-event",
|
||||
"x-hub-signature-256",
|
||||
"x-github-delivery"
|
||||
];
|
||||
function getMissingHeaders(request) {
|
||||
return WEBHOOK_HEADERS.filter((header) => !(header in request.headers));
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/get-payload.js
|
||||
var import_aggregate_error3 = __toESM(require("aggregate-error"));
|
||||
function getPayload(request) {
|
||||
if ("body" in request) {
|
||||
if (typeof request.body === "object" && "rawBody" in request && request.rawBody instanceof Buffer) {
|
||||
return Promise.resolve(request.rawBody.toString("utf8"));
|
||||
} else {
|
||||
return Promise.resolve(request.body);
|
||||
}
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
let data = [];
|
||||
request.on("error", (error) => reject(new import_aggregate_error3.default([error])));
|
||||
request.on("data", (chunk) => data.push(chunk));
|
||||
request.on(
|
||||
"end",
|
||||
() => (
|
||||
// setImmediate improves the throughput by reducing the pressure from
|
||||
// the event loop
|
||||
setImmediate(
|
||||
resolve,
|
||||
data.length === 1 ? data[0].toString("utf8") : Buffer.concat(data).toString("utf8")
|
||||
)
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/on-unhandled-request-default.js
|
||||
function onUnhandledRequestDefault(request, response) {
|
||||
response.writeHead(404, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unknown route: ${request.method} ${request.url}`
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/middleware.js
|
||||
async function middleware(webhooks, options, request, response, next) {
|
||||
let pathname;
|
||||
try {
|
||||
pathname = new URL(request.url, "http://localhost").pathname;
|
||||
} catch (error) {
|
||||
response.writeHead(422, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Request URL could not be parsed: ${request.url}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
if (pathname !== options.path) {
|
||||
next?.();
|
||||
return false;
|
||||
} else if (request.method !== "POST") {
|
||||
onUnhandledRequestDefault(request, response);
|
||||
return true;
|
||||
}
|
||||
if (!request.headers["content-type"] || !request.headers["content-type"].startsWith("application/json")) {
|
||||
response.writeHead(415, {
|
||||
"content-type": "application/json",
|
||||
accept: "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unsupported "Content-Type" header value. Must be "application/json"`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const missingHeaders = getMissingHeaders(request).join(", ");
|
||||
if (missingHeaders) {
|
||||
response.writeHead(400, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Required headers missing: ${missingHeaders}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const eventName = request.headers["x-github-event"];
|
||||
const signatureSHA256 = request.headers["x-hub-signature-256"];
|
||||
const id = request.headers["x-github-delivery"];
|
||||
options.log.debug(`${eventName} event received (id: ${id})`);
|
||||
let didTimeout = false;
|
||||
const timeout = setTimeout(() => {
|
||||
didTimeout = true;
|
||||
response.statusCode = 202;
|
||||
response.end("still processing\n");
|
||||
}, 9e3).unref();
|
||||
try {
|
||||
const payload = await getPayload(request);
|
||||
await webhooks.verifyAndReceive({
|
||||
id,
|
||||
name: eventName,
|
||||
payload,
|
||||
signature: signatureSHA256
|
||||
});
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
response.end("ok\n");
|
||||
return true;
|
||||
} catch (error) {
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
const err = Array.from(error)[0];
|
||||
const errorMessage = err.message ? `${err.name}: ${err.message}` : "Error: An Unspecified error occurred";
|
||||
response.statusCode = typeof err.status !== "undefined" ? err.status : 500;
|
||||
options.log.error(error);
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: errorMessage
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/index.js
|
||||
function createNodeMiddleware(webhooks, {
|
||||
path = "/api/github/webhooks",
|
||||
log = createLogger()
|
||||
} = {}) {
|
||||
return middleware.bind(null, webhooks, {
|
||||
path,
|
||||
log
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/index.js
|
||||
var Webhooks = class {
|
||||
constructor(options) {
|
||||
if (!options || !options.secret) {
|
||||
throw new Error("[@octokit/webhooks] options.secret required");
|
||||
}
|
||||
const state = {
|
||||
eventHandler: createEventHandler(options),
|
||||
secret: options.secret,
|
||||
hooks: {},
|
||||
log: createLogger(options.log)
|
||||
};
|
||||
this.sign = import_webhooks_methods2.sign.bind(null, options.secret);
|
||||
this.verify = import_webhooks_methods2.verify.bind(null, options.secret);
|
||||
this.on = state.eventHandler.on;
|
||||
this.onAny = state.eventHandler.onAny;
|
||||
this.onError = state.eventHandler.onError;
|
||||
this.removeListener = state.eventHandler.removeListener;
|
||||
this.receive = state.eventHandler.receive;
|
||||
this.verifyAndReceive = verifyAndReceive.bind(null, state);
|
||||
}
|
||||
};
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
Webhooks,
|
||||
createEventHandler,
|
||||
createNodeMiddleware,
|
||||
emitterEventNames
|
||||
});
|
||||
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-node/index.js.map
generated
vendored
Normal file
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-node/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
12
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/createLogger.js
generated
vendored
Normal file
12
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/createLogger.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
const createLogger = (logger) => ({
|
||||
debug: () => {
|
||||
},
|
||||
info: () => {
|
||||
},
|
||||
warn: console.warn.bind(console),
|
||||
error: console.error.bind(console),
|
||||
...logger
|
||||
});
|
||||
export {
|
||||
createLogger
|
||||
};
|
||||
27
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/index.js
generated
vendored
Normal file
27
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/index.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
import { createLogger } from "../createLogger.js";
|
||||
import {
|
||||
receiverOn as on,
|
||||
receiverOnAny as onAny,
|
||||
receiverOnError as onError
|
||||
} from "./on.js";
|
||||
import { receiverHandle as receive } from "./receive.js";
|
||||
import { removeListener } from "./remove-listener.js";
|
||||
function createEventHandler(options) {
|
||||
const state = {
|
||||
hooks: {},
|
||||
log: createLogger(options && options.log)
|
||||
};
|
||||
if (options && options.transform) {
|
||||
state.transform = options.transform;
|
||||
}
|
||||
return {
|
||||
on: on.bind(null, state),
|
||||
onAny: onAny.bind(null, state),
|
||||
onError: onError.bind(null, state),
|
||||
removeListener: removeListener.bind(null, state),
|
||||
receive: receive.bind(null, state)
|
||||
};
|
||||
}
|
||||
export {
|
||||
createEventHandler
|
||||
};
|
||||
37
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/on.js
generated
vendored
Normal file
37
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/on.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
import { emitterEventNames } from "../generated/webhook-names.js";
|
||||
function handleEventHandlers(state, webhookName, handler) {
|
||||
if (!state.hooks[webhookName]) {
|
||||
state.hooks[webhookName] = [];
|
||||
}
|
||||
state.hooks[webhookName].push(handler);
|
||||
}
|
||||
function receiverOn(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => receiverOn(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (["*", "error"].includes(webhookNameOrNames)) {
|
||||
const webhookName = webhookNameOrNames === "*" ? "any" : webhookNameOrNames;
|
||||
const message = `Using the "${webhookNameOrNames}" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.on${webhookName.charAt(0).toUpperCase() + webhookName.slice(1)}() method instead`;
|
||||
throw new Error(message);
|
||||
}
|
||||
if (!emitterEventNames.includes(webhookNameOrNames)) {
|
||||
state.log.warn(
|
||||
`"${webhookNameOrNames}" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`
|
||||
);
|
||||
}
|
||||
handleEventHandlers(state, webhookNameOrNames, handler);
|
||||
}
|
||||
function receiverOnAny(state, handler) {
|
||||
handleEventHandlers(state, "*", handler);
|
||||
}
|
||||
function receiverOnError(state, handler) {
|
||||
handleEventHandlers(state, "error", handler);
|
||||
}
|
||||
export {
|
||||
receiverOn,
|
||||
receiverOnAny,
|
||||
receiverOnError
|
||||
};
|
||||
59
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/receive.js
generated
vendored
Normal file
59
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/receive.js
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
import AggregateError from "aggregate-error";
|
||||
import { wrapErrorHandler } from "./wrap-error-handler.js";
|
||||
function getHooks(state, eventPayloadAction, eventName) {
|
||||
const hooks = [state.hooks[eventName], state.hooks["*"]];
|
||||
if (eventPayloadAction) {
|
||||
hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);
|
||||
}
|
||||
return [].concat(...hooks.filter(Boolean));
|
||||
}
|
||||
function receiverHandle(state, event) {
|
||||
const errorHandlers = state.hooks.error || [];
|
||||
if (event instanceof Error) {
|
||||
const error = Object.assign(new AggregateError([event]), {
|
||||
event,
|
||||
errors: [event]
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
return Promise.reject(error);
|
||||
}
|
||||
if (!event || !event.name) {
|
||||
throw new AggregateError(["Event name not passed"]);
|
||||
}
|
||||
if (!event.payload) {
|
||||
throw new AggregateError(["Event payload not passed"]);
|
||||
}
|
||||
const hooks = getHooks(
|
||||
state,
|
||||
"action" in event.payload ? event.payload.action : null,
|
||||
event.name
|
||||
);
|
||||
if (hooks.length === 0) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
const errors = [];
|
||||
const promises = hooks.map((handler) => {
|
||||
let promise = Promise.resolve(event);
|
||||
if (state.transform) {
|
||||
promise = promise.then(state.transform);
|
||||
}
|
||||
return promise.then((event2) => {
|
||||
return handler(event2);
|
||||
}).catch((error) => errors.push(Object.assign(error, { event })));
|
||||
});
|
||||
return Promise.all(promises).then(() => {
|
||||
if (errors.length === 0) {
|
||||
return;
|
||||
}
|
||||
const error = new AggregateError(errors);
|
||||
Object.assign(error, {
|
||||
event,
|
||||
errors
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
export {
|
||||
receiverHandle
|
||||
};
|
||||
20
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/remove-listener.js
generated
vendored
Normal file
20
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/remove-listener.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
function removeListener(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => removeListener(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!state.hooks[webhookNameOrNames]) {
|
||||
return;
|
||||
}
|
||||
for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {
|
||||
if (state.hooks[webhookNameOrNames][i] === handler) {
|
||||
state.hooks[webhookNameOrNames].splice(i, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
export {
|
||||
removeListener
|
||||
};
|
||||
18
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/wrap-error-handler.js
generated
vendored
Normal file
18
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/event-handler/wrap-error-handler.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
function wrapErrorHandler(handler, error) {
|
||||
let returnValue;
|
||||
try {
|
||||
returnValue = handler(error);
|
||||
} catch (error2) {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
}
|
||||
if (returnValue && returnValue.catch) {
|
||||
returnValue.catch((error2) => {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
});
|
||||
}
|
||||
}
|
||||
export {
|
||||
wrapErrorHandler
|
||||
};
|
||||
282
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/generated/webhook-names.js
generated
vendored
Normal file
282
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/generated/webhook-names.js
generated
vendored
Normal file
@@ -0,0 +1,282 @@
|
||||
const emitterEventNames = [
|
||||
"branch_protection_configuration",
|
||||
"branch_protection_configuration.disabled",
|
||||
"branch_protection_configuration.enabled",
|
||||
"branch_protection_rule",
|
||||
"branch_protection_rule.created",
|
||||
"branch_protection_rule.deleted",
|
||||
"branch_protection_rule.edited",
|
||||
"check_run",
|
||||
"check_run.completed",
|
||||
"check_run.created",
|
||||
"check_run.requested_action",
|
||||
"check_run.rerequested",
|
||||
"check_suite",
|
||||
"check_suite.completed",
|
||||
"check_suite.requested",
|
||||
"check_suite.rerequested",
|
||||
"code_scanning_alert",
|
||||
"code_scanning_alert.appeared_in_branch",
|
||||
"code_scanning_alert.closed_by_user",
|
||||
"code_scanning_alert.created",
|
||||
"code_scanning_alert.fixed",
|
||||
"code_scanning_alert.reopened",
|
||||
"code_scanning_alert.reopened_by_user",
|
||||
"commit_comment",
|
||||
"commit_comment.created",
|
||||
"create",
|
||||
"custom_property",
|
||||
"custom_property.created",
|
||||
"custom_property.deleted",
|
||||
"custom_property_values",
|
||||
"custom_property_values.updated",
|
||||
"delete",
|
||||
"dependabot_alert",
|
||||
"dependabot_alert.created",
|
||||
"dependabot_alert.dismissed",
|
||||
"dependabot_alert.fixed",
|
||||
"dependabot_alert.reintroduced",
|
||||
"dependabot_alert.reopened",
|
||||
"deploy_key",
|
||||
"deploy_key.created",
|
||||
"deploy_key.deleted",
|
||||
"deployment",
|
||||
"deployment.created",
|
||||
"deployment_protection_rule",
|
||||
"deployment_protection_rule.requested",
|
||||
"deployment_review",
|
||||
"deployment_review.approved",
|
||||
"deployment_review.rejected",
|
||||
"deployment_review.requested",
|
||||
"deployment_status",
|
||||
"deployment_status.created",
|
||||
"discussion",
|
||||
"discussion.answered",
|
||||
"discussion.category_changed",
|
||||
"discussion.created",
|
||||
"discussion.deleted",
|
||||
"discussion.edited",
|
||||
"discussion.labeled",
|
||||
"discussion.locked",
|
||||
"discussion.pinned",
|
||||
"discussion.transferred",
|
||||
"discussion.unanswered",
|
||||
"discussion.unlabeled",
|
||||
"discussion.unlocked",
|
||||
"discussion.unpinned",
|
||||
"discussion_comment",
|
||||
"discussion_comment.created",
|
||||
"discussion_comment.deleted",
|
||||
"discussion_comment.edited",
|
||||
"fork",
|
||||
"github_app_authorization",
|
||||
"github_app_authorization.revoked",
|
||||
"gollum",
|
||||
"installation",
|
||||
"installation.created",
|
||||
"installation.deleted",
|
||||
"installation.new_permissions_accepted",
|
||||
"installation.suspend",
|
||||
"installation.unsuspend",
|
||||
"installation_repositories",
|
||||
"installation_repositories.added",
|
||||
"installation_repositories.removed",
|
||||
"installation_target",
|
||||
"installation_target.renamed",
|
||||
"issue_comment",
|
||||
"issue_comment.created",
|
||||
"issue_comment.deleted",
|
||||
"issue_comment.edited",
|
||||
"issues",
|
||||
"issues.assigned",
|
||||
"issues.closed",
|
||||
"issues.deleted",
|
||||
"issues.demilestoned",
|
||||
"issues.edited",
|
||||
"issues.labeled",
|
||||
"issues.locked",
|
||||
"issues.milestoned",
|
||||
"issues.opened",
|
||||
"issues.pinned",
|
||||
"issues.reopened",
|
||||
"issues.transferred",
|
||||
"issues.unassigned",
|
||||
"issues.unlabeled",
|
||||
"issues.unlocked",
|
||||
"issues.unpinned",
|
||||
"label",
|
||||
"label.created",
|
||||
"label.deleted",
|
||||
"label.edited",
|
||||
"marketplace_purchase",
|
||||
"marketplace_purchase.cancelled",
|
||||
"marketplace_purchase.changed",
|
||||
"marketplace_purchase.pending_change",
|
||||
"marketplace_purchase.pending_change_cancelled",
|
||||
"marketplace_purchase.purchased",
|
||||
"member",
|
||||
"member.added",
|
||||
"member.edited",
|
||||
"member.removed",
|
||||
"membership",
|
||||
"membership.added",
|
||||
"membership.removed",
|
||||
"merge_group",
|
||||
"merge_group.checks_requested",
|
||||
"merge_group.destroyed",
|
||||
"meta",
|
||||
"meta.deleted",
|
||||
"milestone",
|
||||
"milestone.closed",
|
||||
"milestone.created",
|
||||
"milestone.deleted",
|
||||
"milestone.edited",
|
||||
"milestone.opened",
|
||||
"org_block",
|
||||
"org_block.blocked",
|
||||
"org_block.unblocked",
|
||||
"organization",
|
||||
"organization.deleted",
|
||||
"organization.member_added",
|
||||
"organization.member_invited",
|
||||
"organization.member_removed",
|
||||
"organization.renamed",
|
||||
"package",
|
||||
"package.published",
|
||||
"package.updated",
|
||||
"page_build",
|
||||
"ping",
|
||||
"project",
|
||||
"project.closed",
|
||||
"project.created",
|
||||
"project.deleted",
|
||||
"project.edited",
|
||||
"project.reopened",
|
||||
"project_card",
|
||||
"project_card.converted",
|
||||
"project_card.created",
|
||||
"project_card.deleted",
|
||||
"project_card.edited",
|
||||
"project_card.moved",
|
||||
"project_column",
|
||||
"project_column.created",
|
||||
"project_column.deleted",
|
||||
"project_column.edited",
|
||||
"project_column.moved",
|
||||
"projects_v2_item",
|
||||
"projects_v2_item.archived",
|
||||
"projects_v2_item.converted",
|
||||
"projects_v2_item.created",
|
||||
"projects_v2_item.deleted",
|
||||
"projects_v2_item.edited",
|
||||
"projects_v2_item.reordered",
|
||||
"projects_v2_item.restored",
|
||||
"public",
|
||||
"pull_request",
|
||||
"pull_request.assigned",
|
||||
"pull_request.auto_merge_disabled",
|
||||
"pull_request.auto_merge_enabled",
|
||||
"pull_request.closed",
|
||||
"pull_request.converted_to_draft",
|
||||
"pull_request.demilestoned",
|
||||
"pull_request.dequeued",
|
||||
"pull_request.edited",
|
||||
"pull_request.enqueued",
|
||||
"pull_request.labeled",
|
||||
"pull_request.locked",
|
||||
"pull_request.milestoned",
|
||||
"pull_request.opened",
|
||||
"pull_request.ready_for_review",
|
||||
"pull_request.reopened",
|
||||
"pull_request.review_request_removed",
|
||||
"pull_request.review_requested",
|
||||
"pull_request.synchronize",
|
||||
"pull_request.unassigned",
|
||||
"pull_request.unlabeled",
|
||||
"pull_request.unlocked",
|
||||
"pull_request_review",
|
||||
"pull_request_review.dismissed",
|
||||
"pull_request_review.edited",
|
||||
"pull_request_review.submitted",
|
||||
"pull_request_review_comment",
|
||||
"pull_request_review_comment.created",
|
||||
"pull_request_review_comment.deleted",
|
||||
"pull_request_review_comment.edited",
|
||||
"pull_request_review_thread",
|
||||
"pull_request_review_thread.resolved",
|
||||
"pull_request_review_thread.unresolved",
|
||||
"push",
|
||||
"registry_package",
|
||||
"registry_package.published",
|
||||
"registry_package.updated",
|
||||
"release",
|
||||
"release.created",
|
||||
"release.deleted",
|
||||
"release.edited",
|
||||
"release.prereleased",
|
||||
"release.published",
|
||||
"release.released",
|
||||
"release.unpublished",
|
||||
"repository",
|
||||
"repository.archived",
|
||||
"repository.created",
|
||||
"repository.deleted",
|
||||
"repository.edited",
|
||||
"repository.privatized",
|
||||
"repository.publicized",
|
||||
"repository.renamed",
|
||||
"repository.transferred",
|
||||
"repository.unarchived",
|
||||
"repository_dispatch",
|
||||
"repository_import",
|
||||
"repository_vulnerability_alert",
|
||||
"repository_vulnerability_alert.create",
|
||||
"repository_vulnerability_alert.dismiss",
|
||||
"repository_vulnerability_alert.reopen",
|
||||
"repository_vulnerability_alert.resolve",
|
||||
"secret_scanning_alert",
|
||||
"secret_scanning_alert.created",
|
||||
"secret_scanning_alert.reopened",
|
||||
"secret_scanning_alert.resolved",
|
||||
"secret_scanning_alert.revoked",
|
||||
"secret_scanning_alert_location",
|
||||
"secret_scanning_alert_location.created",
|
||||
"security_advisory",
|
||||
"security_advisory.performed",
|
||||
"security_advisory.published",
|
||||
"security_advisory.updated",
|
||||
"security_advisory.withdrawn",
|
||||
"sponsorship",
|
||||
"sponsorship.cancelled",
|
||||
"sponsorship.created",
|
||||
"sponsorship.edited",
|
||||
"sponsorship.pending_cancellation",
|
||||
"sponsorship.pending_tier_change",
|
||||
"sponsorship.tier_changed",
|
||||
"star",
|
||||
"star.created",
|
||||
"star.deleted",
|
||||
"status",
|
||||
"team",
|
||||
"team.added_to_repository",
|
||||
"team.created",
|
||||
"team.deleted",
|
||||
"team.edited",
|
||||
"team.removed_from_repository",
|
||||
"team_add",
|
||||
"watch",
|
||||
"watch.started",
|
||||
"workflow_dispatch",
|
||||
"workflow_job",
|
||||
"workflow_job.completed",
|
||||
"workflow_job.in_progress",
|
||||
"workflow_job.queued",
|
||||
"workflow_job.waiting",
|
||||
"workflow_run",
|
||||
"workflow_run.completed",
|
||||
"workflow_run.in_progress",
|
||||
"workflow_run.requested"
|
||||
];
|
||||
export {
|
||||
emitterEventNames
|
||||
};
|
||||
35
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/index.js
generated
vendored
Normal file
35
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/index.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
import { createLogger } from "./createLogger.js";
|
||||
import {
|
||||
createEventHandler
|
||||
} from "./event-handler/index.js";
|
||||
import { sign, verify } from "@octokit/webhooks-methods";
|
||||
import { verifyAndReceive } from "./verify-and-receive.js";
|
||||
import { createNodeMiddleware } from "./middleware/node/index.js";
|
||||
import { emitterEventNames } from "./generated/webhook-names.js";
|
||||
class Webhooks {
|
||||
constructor(options) {
|
||||
if (!options || !options.secret) {
|
||||
throw new Error("[@octokit/webhooks] options.secret required");
|
||||
}
|
||||
const state = {
|
||||
eventHandler: createEventHandler(options),
|
||||
secret: options.secret,
|
||||
hooks: {},
|
||||
log: createLogger(options.log)
|
||||
};
|
||||
this.sign = sign.bind(null, options.secret);
|
||||
this.verify = verify.bind(null, options.secret);
|
||||
this.on = state.eventHandler.on;
|
||||
this.onAny = state.eventHandler.onAny;
|
||||
this.onError = state.eventHandler.onError;
|
||||
this.removeListener = state.eventHandler.removeListener;
|
||||
this.receive = state.eventHandler.receive;
|
||||
this.verifyAndReceive = verifyAndReceive.bind(null, state);
|
||||
}
|
||||
}
|
||||
export {
|
||||
Webhooks,
|
||||
createEventHandler,
|
||||
createNodeMiddleware,
|
||||
emitterEventNames
|
||||
};
|
||||
11
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/get-missing-headers.js
generated
vendored
Normal file
11
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/get-missing-headers.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
const WEBHOOK_HEADERS = [
|
||||
"x-github-event",
|
||||
"x-hub-signature-256",
|
||||
"x-github-delivery"
|
||||
];
|
||||
function getMissingHeaders(request) {
|
||||
return WEBHOOK_HEADERS.filter((header) => !(header in request.headers));
|
||||
}
|
||||
export {
|
||||
getMissingHeaders
|
||||
};
|
||||
29
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/get-payload.js
generated
vendored
Normal file
29
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/get-payload.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
import AggregateError from "aggregate-error";
|
||||
function getPayload(request) {
|
||||
if ("body" in request) {
|
||||
if (typeof request.body === "object" && "rawBody" in request && request.rawBody instanceof Buffer) {
|
||||
return Promise.resolve(request.rawBody.toString("utf8"));
|
||||
} else {
|
||||
return Promise.resolve(request.body);
|
||||
}
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
let data = [];
|
||||
request.on("error", (error) => reject(new AggregateError([error])));
|
||||
request.on("data", (chunk) => data.push(chunk));
|
||||
request.on(
|
||||
"end",
|
||||
() => (
|
||||
// setImmediate improves the throughput by reducing the pressure from
|
||||
// the event loop
|
||||
setImmediate(
|
||||
resolve,
|
||||
data.length === 1 ? data[0].toString("utf8") : Buffer.concat(data).toString("utf8")
|
||||
)
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
export {
|
||||
getPayload
|
||||
};
|
||||
14
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/index.js
generated
vendored
Normal file
14
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/index.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import { createLogger } from "../../createLogger.js";
|
||||
import { middleware } from "./middleware.js";
|
||||
function createNodeMiddleware(webhooks, {
|
||||
path = "/api/github/webhooks",
|
||||
log = createLogger()
|
||||
} = {}) {
|
||||
return middleware.bind(null, webhooks, {
|
||||
path,
|
||||
log
|
||||
});
|
||||
}
|
||||
export {
|
||||
createNodeMiddleware
|
||||
};
|
||||
91
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/middleware.js
generated
vendored
Normal file
91
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/middleware.js
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
import { getMissingHeaders } from "./get-missing-headers.js";
|
||||
import { getPayload } from "./get-payload.js";
|
||||
import { onUnhandledRequestDefault } from "./on-unhandled-request-default.js";
|
||||
async function middleware(webhooks, options, request, response, next) {
|
||||
let pathname;
|
||||
try {
|
||||
pathname = new URL(request.url, "http://localhost").pathname;
|
||||
} catch (error) {
|
||||
response.writeHead(422, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Request URL could not be parsed: ${request.url}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
if (pathname !== options.path) {
|
||||
next?.();
|
||||
return false;
|
||||
} else if (request.method !== "POST") {
|
||||
onUnhandledRequestDefault(request, response);
|
||||
return true;
|
||||
}
|
||||
if (!request.headers["content-type"] || !request.headers["content-type"].startsWith("application/json")) {
|
||||
response.writeHead(415, {
|
||||
"content-type": "application/json",
|
||||
accept: "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unsupported "Content-Type" header value. Must be "application/json"`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const missingHeaders = getMissingHeaders(request).join(", ");
|
||||
if (missingHeaders) {
|
||||
response.writeHead(400, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Required headers missing: ${missingHeaders}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const eventName = request.headers["x-github-event"];
|
||||
const signatureSHA256 = request.headers["x-hub-signature-256"];
|
||||
const id = request.headers["x-github-delivery"];
|
||||
options.log.debug(`${eventName} event received (id: ${id})`);
|
||||
let didTimeout = false;
|
||||
const timeout = setTimeout(() => {
|
||||
didTimeout = true;
|
||||
response.statusCode = 202;
|
||||
response.end("still processing\n");
|
||||
}, 9e3).unref();
|
||||
try {
|
||||
const payload = await getPayload(request);
|
||||
await webhooks.verifyAndReceive({
|
||||
id,
|
||||
name: eventName,
|
||||
payload,
|
||||
signature: signatureSHA256
|
||||
});
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
response.end("ok\n");
|
||||
return true;
|
||||
} catch (error) {
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
const err = Array.from(error)[0];
|
||||
const errorMessage = err.message ? `${err.name}: ${err.message}` : "Error: An Unspecified error occurred";
|
||||
response.statusCode = typeof err.status !== "undefined" ? err.status : 500;
|
||||
options.log.error(error);
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: errorMessage
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
export {
|
||||
middleware
|
||||
};
|
||||
13
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/on-unhandled-request-default.js
generated
vendored
Normal file
13
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/middleware/node/on-unhandled-request-default.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
function onUnhandledRequestDefault(request, response) {
|
||||
response.writeHead(404, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unknown route: ${request.method} ${request.url}`
|
||||
})
|
||||
);
|
||||
}
|
||||
export {
|
||||
onUnhandledRequestDefault
|
||||
};
|
||||
33
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/verify-and-receive.js
generated
vendored
Normal file
33
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-src/verify-and-receive.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import AggregateError from "aggregate-error";
|
||||
import { verify } from "@octokit/webhooks-methods";
|
||||
async function verifyAndReceive(state, event) {
|
||||
const matchesSignature = await verify(
|
||||
state.secret,
|
||||
event.payload,
|
||||
event.signature
|
||||
).catch(() => false);
|
||||
if (!matchesSignature) {
|
||||
const error = new Error(
|
||||
"[@octokit/webhooks] signature does not match event payload and secret"
|
||||
);
|
||||
return state.eventHandler.receive(
|
||||
Object.assign(error, { event, status: 400 })
|
||||
);
|
||||
}
|
||||
let payload;
|
||||
try {
|
||||
payload = JSON.parse(event.payload);
|
||||
} catch (error) {
|
||||
error.message = "Invalid JSON";
|
||||
error.status = 400;
|
||||
throw new AggregateError([error]);
|
||||
}
|
||||
return state.eventHandler.receive({
|
||||
id: event.id,
|
||||
name: event.name,
|
||||
payload
|
||||
});
|
||||
}
|
||||
export {
|
||||
verifyAndReceive
|
||||
};
|
||||
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/createLogger.d.ts
generated
vendored
Normal file
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/createLogger.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export interface Logger {
|
||||
debug: (...data: any[]) => void;
|
||||
info: (...data: any[]) => void;
|
||||
warn: (...data: any[]) => void;
|
||||
error: (...data: any[]) => void;
|
||||
}
|
||||
export declare const createLogger: (logger?: Partial<Logger>) => Logger;
|
||||
9
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/index.d.ts
generated
vendored
Normal file
9
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import type { EmitterWebhookEvent, EmitterWebhookEventName, HandlerFunction, Options, WebhookError, WebhookEventHandlerError } from "../types.js";
|
||||
export interface EventHandler<TTransformed> {
|
||||
on<E extends EmitterWebhookEventName>(event: E | E[], callback: HandlerFunction<E, TTransformed>): void;
|
||||
onAny(handler: (event: TTransformed extends unknown ? EmitterWebhookEvent : EmitterWebhookEvent & TTransformed) => any): void;
|
||||
onError(handler: (event: WebhookEventHandlerError<TTransformed>) => any): void;
|
||||
removeListener<E extends EmitterWebhookEventName>(event: E | E[], callback: HandlerFunction<E, TTransformed>): void;
|
||||
receive(event: EmitterWebhookEvent | WebhookError): Promise<void>;
|
||||
}
|
||||
export declare function createEventHandler<TTransformed>(options: Options<TTransformed>): EventHandler<TTransformed>;
|
||||
4
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/on.d.ts
generated
vendored
Normal file
4
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/on.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import type { EmitterWebhookEvent, EmitterWebhookEventName, State, WebhookEventHandlerError } from "../types.js";
|
||||
export declare function receiverOn(state: State, webhookNameOrNames: EmitterWebhookEventName | EmitterWebhookEventName[], handler: Function): void;
|
||||
export declare function receiverOnAny<TTransformed>(state: State, handler: (event: TTransformed extends unknown ? EmitterWebhookEvent : EmitterWebhookEvent & TTransformed) => any): void;
|
||||
export declare function receiverOnError<TTransformed>(state: State, handler: (event: WebhookEventHandlerError<TTransformed>) => any): void;
|
||||
2
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/receive.d.ts
generated
vendored
Normal file
2
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/receive.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import type { EmitterWebhookEvent, State, WebhookError } from "../types.js";
|
||||
export declare function receiverHandle(state: State, event: EmitterWebhookEvent | WebhookError): Promise<void>;
|
||||
2
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/remove-listener.d.ts
generated
vendored
Normal file
2
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/remove-listener.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import type { EmitterWebhookEventName, State } from "../types.js";
|
||||
export declare function removeListener(state: State, webhookNameOrNames: "*" | EmitterWebhookEventName | EmitterWebhookEventName[], handler: Function): void;
|
||||
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/wrap-error-handler.d.ts
generated
vendored
Normal file
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/event-handler/wrap-error-handler.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function wrapErrorHandler(handler: Function, error: Error): void;
|
||||
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/generated/webhook-names.d.ts
generated
vendored
Normal file
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/generated/webhook-names.d.ts
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
18
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/index.d.ts
generated
vendored
Normal file
18
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { createEventHandler } from "./event-handler/index.js";
|
||||
import type { EmitterWebhookEvent, EmitterWebhookEventName, HandlerFunction, RemoveHandlerFunction, Options, WebhookError, WebhookEventHandlerError, EmitterWebhookEventWithStringPayloadAndSignature } from "./types.js";
|
||||
export { createNodeMiddleware } from "./middleware/node/index.js";
|
||||
export { emitterEventNames } from "./generated/webhook-names.js";
|
||||
declare class Webhooks<TTransformed = unknown> {
|
||||
sign: (payload: string) => Promise<string>;
|
||||
verify: (eventPayload: string, signature: string) => Promise<boolean>;
|
||||
on: <E extends EmitterWebhookEventName>(event: E | E[], callback: HandlerFunction<E, TTransformed>) => void;
|
||||
onAny: (callback: (event: TTransformed extends unknown ? EmitterWebhookEvent : EmitterWebhookEvent & TTransformed) => any) => void;
|
||||
onError: (callback: (event: WebhookEventHandlerError<TTransformed>) => any) => void;
|
||||
removeListener: <E extends EmitterWebhookEventName | "*">(event: E | E[], callback: RemoveHandlerFunction<E, TTransformed>) => void;
|
||||
receive: (event: EmitterWebhookEvent) => Promise<void>;
|
||||
verifyAndReceive: (options: EmitterWebhookEventWithStringPayloadAndSignature) => Promise<void>;
|
||||
constructor(options: Options<TTransformed> & {
|
||||
secret: string;
|
||||
});
|
||||
}
|
||||
export { createEventHandler, Webhooks, type EmitterWebhookEvent, type EmitterWebhookEventName, type WebhookError, };
|
||||
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/get-missing-headers.d.ts
generated
vendored
Normal file
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/get-missing-headers.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
type IncomingMessage = any;
|
||||
export declare function getMissingHeaders(request: IncomingMessage): string[];
|
||||
export {};
|
||||
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/get-payload.d.ts
generated
vendored
Normal file
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/get-payload.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
type IncomingMessage = any;
|
||||
export declare function getPayload(request: IncomingMessage): Promise<string>;
|
||||
export {};
|
||||
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/index.d.ts
generated
vendored
Normal file
3
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import type { Webhooks } from "../../index.js";
|
||||
import type { MiddlewareOptions } from "./types.js";
|
||||
export declare function createNodeMiddleware(webhooks: Webhooks, { path, log, }?: MiddlewareOptions): (request: any, response: any, next?: Function | undefined) => Promise<boolean>;
|
||||
6
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/middleware.d.ts
generated
vendored
Normal file
6
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/middleware.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
type IncomingMessage = any;
|
||||
type ServerResponse = any;
|
||||
import type { Webhooks } from "../../index.js";
|
||||
import type { MiddlewareOptions } from "./types.js";
|
||||
export declare function middleware(webhooks: Webhooks, options: Required<MiddlewareOptions>, request: IncomingMessage, response: ServerResponse, next?: Function): Promise<boolean>;
|
||||
export {};
|
||||
@@ -0,0 +1,4 @@
|
||||
type IncomingMessage = any;
|
||||
type ServerResponse = any;
|
||||
export declare function onUnhandledRequestDefault(request: IncomingMessage, response: ServerResponse): void;
|
||||
export {};
|
||||
5
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/types.d.ts
generated
vendored
Normal file
5
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/middleware/node/types.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import type { Logger } from "../../createLogger.js";
|
||||
export type MiddlewareOptions = {
|
||||
path?: string;
|
||||
log?: Logger;
|
||||
};
|
||||
60
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/types.d.ts
generated
vendored
Normal file
60
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/types.d.ts
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
import type { RequestError } from "@octokit/request-error";
|
||||
import type { WebhookEventMap, WebhookEventName } from "@octokit/webhooks-types";
|
||||
export type { WebhookEventName } from "@octokit/webhooks-types";
|
||||
import type { Logger } from "./createLogger.js";
|
||||
import type { EventHandler } from "./event-handler/index.js";
|
||||
import type { emitterEventNames } from "./generated/webhook-names.js";
|
||||
export type EmitterWebhookEventName = (typeof emitterEventNames)[number];
|
||||
export type EmitterWebhookEvent<TEmitterEvent extends EmitterWebhookEventName = EmitterWebhookEventName> = TEmitterEvent extends `${infer TWebhookEvent}.${infer TAction}` ? BaseWebhookEvent<Extract<TWebhookEvent, WebhookEventName>> & {
|
||||
payload: {
|
||||
action: TAction;
|
||||
};
|
||||
} : BaseWebhookEvent<Extract<TEmitterEvent, WebhookEventName>>;
|
||||
export type EmitterWebhookEventWithStringPayloadAndSignature = {
|
||||
id: string;
|
||||
name: WebhookEventName;
|
||||
payload: string;
|
||||
signature: string;
|
||||
};
|
||||
interface BaseWebhookEvent<TName extends WebhookEventName> {
|
||||
id: string;
|
||||
name: TName;
|
||||
payload: WebhookEventMap[TName];
|
||||
}
|
||||
export interface Options<TTransformed = unknown> {
|
||||
secret?: string;
|
||||
transform?: TransformMethod<TTransformed>;
|
||||
log?: Partial<Logger>;
|
||||
}
|
||||
type TransformMethod<T> = (event: EmitterWebhookEvent) => T | PromiseLike<T>;
|
||||
export type HandlerFunction<TName extends EmitterWebhookEventName, TTransformed> = (event: EmitterWebhookEvent<TName> & TTransformed) => any;
|
||||
export type RemoveHandlerFunction<TName extends EmitterWebhookEventName | "*", TTransformed> = (event: EmitterWebhookEvent<Exclude<TName, "*">> & TTransformed) => any;
|
||||
type Hooks = {
|
||||
[key: string]: Function[];
|
||||
};
|
||||
export interface State extends Options<any> {
|
||||
eventHandler?: EventHandler<unknown>;
|
||||
hooks: Hooks;
|
||||
log: Logger;
|
||||
}
|
||||
/**
|
||||
* Error object with optional properties coming from `octokit.request` errors
|
||||
*/
|
||||
export type WebhookError = Error & Partial<RequestError>;
|
||||
export interface WebhookEventHandlerError<TTransformed = unknown> extends AggregateError<WebhookError> {
|
||||
event: TTransformed extends unknown ? EmitterWebhookEvent : EmitterWebhookEvent & TTransformed;
|
||||
}
|
||||
/**
|
||||
* Workaround for TypeScript incompatibility with types exported by aggregate-error.
|
||||
* Credit: https://git.io/JUEEr
|
||||
* @copyright Sindre Sorhus
|
||||
* @license MIT (https://git.io/JUEEK)
|
||||
* @see https://github.com/octokit/webhooks.js/pull/270/files
|
||||
*/
|
||||
declare class AggregateError<T extends Error = Error> extends Error implements Iterable<T> {
|
||||
readonly name: "AggregateError";
|
||||
constructor(errors: ReadonlyArray<T | {
|
||||
[key: string]: any;
|
||||
} | string>);
|
||||
[Symbol.iterator](): IterableIterator<T>;
|
||||
}
|
||||
6
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/verify-and-receive.d.ts
generated
vendored
Normal file
6
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-types/verify-and-receive.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import type { EmitterWebhookEventWithStringPayloadAndSignature, State } from "./types.js";
|
||||
import type { EventHandler } from "./event-handler/index.js";
|
||||
export declare function verifyAndReceive(state: State & {
|
||||
secret: string;
|
||||
eventHandler: EventHandler<unknown>;
|
||||
}, event: EmitterWebhookEventWithStringPayloadAndSignature): Promise<void>;
|
||||
649
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-web/index.js
generated
vendored
Normal file
649
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-web/index.js
generated
vendored
Normal file
@@ -0,0 +1,649 @@
|
||||
// pkg/dist-src/createLogger.js
|
||||
var createLogger = (logger) => ({
|
||||
debug: () => {
|
||||
},
|
||||
info: () => {
|
||||
},
|
||||
warn: console.warn.bind(console),
|
||||
error: console.error.bind(console),
|
||||
...logger
|
||||
});
|
||||
|
||||
// pkg/dist-src/generated/webhook-names.js
|
||||
var emitterEventNames = [
|
||||
"branch_protection_configuration",
|
||||
"branch_protection_configuration.disabled",
|
||||
"branch_protection_configuration.enabled",
|
||||
"branch_protection_rule",
|
||||
"branch_protection_rule.created",
|
||||
"branch_protection_rule.deleted",
|
||||
"branch_protection_rule.edited",
|
||||
"check_run",
|
||||
"check_run.completed",
|
||||
"check_run.created",
|
||||
"check_run.requested_action",
|
||||
"check_run.rerequested",
|
||||
"check_suite",
|
||||
"check_suite.completed",
|
||||
"check_suite.requested",
|
||||
"check_suite.rerequested",
|
||||
"code_scanning_alert",
|
||||
"code_scanning_alert.appeared_in_branch",
|
||||
"code_scanning_alert.closed_by_user",
|
||||
"code_scanning_alert.created",
|
||||
"code_scanning_alert.fixed",
|
||||
"code_scanning_alert.reopened",
|
||||
"code_scanning_alert.reopened_by_user",
|
||||
"commit_comment",
|
||||
"commit_comment.created",
|
||||
"create",
|
||||
"custom_property",
|
||||
"custom_property.created",
|
||||
"custom_property.deleted",
|
||||
"custom_property_values",
|
||||
"custom_property_values.updated",
|
||||
"delete",
|
||||
"dependabot_alert",
|
||||
"dependabot_alert.created",
|
||||
"dependabot_alert.dismissed",
|
||||
"dependabot_alert.fixed",
|
||||
"dependabot_alert.reintroduced",
|
||||
"dependabot_alert.reopened",
|
||||
"deploy_key",
|
||||
"deploy_key.created",
|
||||
"deploy_key.deleted",
|
||||
"deployment",
|
||||
"deployment.created",
|
||||
"deployment_protection_rule",
|
||||
"deployment_protection_rule.requested",
|
||||
"deployment_review",
|
||||
"deployment_review.approved",
|
||||
"deployment_review.rejected",
|
||||
"deployment_review.requested",
|
||||
"deployment_status",
|
||||
"deployment_status.created",
|
||||
"discussion",
|
||||
"discussion.answered",
|
||||
"discussion.category_changed",
|
||||
"discussion.created",
|
||||
"discussion.deleted",
|
||||
"discussion.edited",
|
||||
"discussion.labeled",
|
||||
"discussion.locked",
|
||||
"discussion.pinned",
|
||||
"discussion.transferred",
|
||||
"discussion.unanswered",
|
||||
"discussion.unlabeled",
|
||||
"discussion.unlocked",
|
||||
"discussion.unpinned",
|
||||
"discussion_comment",
|
||||
"discussion_comment.created",
|
||||
"discussion_comment.deleted",
|
||||
"discussion_comment.edited",
|
||||
"fork",
|
||||
"github_app_authorization",
|
||||
"github_app_authorization.revoked",
|
||||
"gollum",
|
||||
"installation",
|
||||
"installation.created",
|
||||
"installation.deleted",
|
||||
"installation.new_permissions_accepted",
|
||||
"installation.suspend",
|
||||
"installation.unsuspend",
|
||||
"installation_repositories",
|
||||
"installation_repositories.added",
|
||||
"installation_repositories.removed",
|
||||
"installation_target",
|
||||
"installation_target.renamed",
|
||||
"issue_comment",
|
||||
"issue_comment.created",
|
||||
"issue_comment.deleted",
|
||||
"issue_comment.edited",
|
||||
"issues",
|
||||
"issues.assigned",
|
||||
"issues.closed",
|
||||
"issues.deleted",
|
||||
"issues.demilestoned",
|
||||
"issues.edited",
|
||||
"issues.labeled",
|
||||
"issues.locked",
|
||||
"issues.milestoned",
|
||||
"issues.opened",
|
||||
"issues.pinned",
|
||||
"issues.reopened",
|
||||
"issues.transferred",
|
||||
"issues.unassigned",
|
||||
"issues.unlabeled",
|
||||
"issues.unlocked",
|
||||
"issues.unpinned",
|
||||
"label",
|
||||
"label.created",
|
||||
"label.deleted",
|
||||
"label.edited",
|
||||
"marketplace_purchase",
|
||||
"marketplace_purchase.cancelled",
|
||||
"marketplace_purchase.changed",
|
||||
"marketplace_purchase.pending_change",
|
||||
"marketplace_purchase.pending_change_cancelled",
|
||||
"marketplace_purchase.purchased",
|
||||
"member",
|
||||
"member.added",
|
||||
"member.edited",
|
||||
"member.removed",
|
||||
"membership",
|
||||
"membership.added",
|
||||
"membership.removed",
|
||||
"merge_group",
|
||||
"merge_group.checks_requested",
|
||||
"merge_group.destroyed",
|
||||
"meta",
|
||||
"meta.deleted",
|
||||
"milestone",
|
||||
"milestone.closed",
|
||||
"milestone.created",
|
||||
"milestone.deleted",
|
||||
"milestone.edited",
|
||||
"milestone.opened",
|
||||
"org_block",
|
||||
"org_block.blocked",
|
||||
"org_block.unblocked",
|
||||
"organization",
|
||||
"organization.deleted",
|
||||
"organization.member_added",
|
||||
"organization.member_invited",
|
||||
"organization.member_removed",
|
||||
"organization.renamed",
|
||||
"package",
|
||||
"package.published",
|
||||
"package.updated",
|
||||
"page_build",
|
||||
"ping",
|
||||
"project",
|
||||
"project.closed",
|
||||
"project.created",
|
||||
"project.deleted",
|
||||
"project.edited",
|
||||
"project.reopened",
|
||||
"project_card",
|
||||
"project_card.converted",
|
||||
"project_card.created",
|
||||
"project_card.deleted",
|
||||
"project_card.edited",
|
||||
"project_card.moved",
|
||||
"project_column",
|
||||
"project_column.created",
|
||||
"project_column.deleted",
|
||||
"project_column.edited",
|
||||
"project_column.moved",
|
||||
"projects_v2_item",
|
||||
"projects_v2_item.archived",
|
||||
"projects_v2_item.converted",
|
||||
"projects_v2_item.created",
|
||||
"projects_v2_item.deleted",
|
||||
"projects_v2_item.edited",
|
||||
"projects_v2_item.reordered",
|
||||
"projects_v2_item.restored",
|
||||
"public",
|
||||
"pull_request",
|
||||
"pull_request.assigned",
|
||||
"pull_request.auto_merge_disabled",
|
||||
"pull_request.auto_merge_enabled",
|
||||
"pull_request.closed",
|
||||
"pull_request.converted_to_draft",
|
||||
"pull_request.demilestoned",
|
||||
"pull_request.dequeued",
|
||||
"pull_request.edited",
|
||||
"pull_request.enqueued",
|
||||
"pull_request.labeled",
|
||||
"pull_request.locked",
|
||||
"pull_request.milestoned",
|
||||
"pull_request.opened",
|
||||
"pull_request.ready_for_review",
|
||||
"pull_request.reopened",
|
||||
"pull_request.review_request_removed",
|
||||
"pull_request.review_requested",
|
||||
"pull_request.synchronize",
|
||||
"pull_request.unassigned",
|
||||
"pull_request.unlabeled",
|
||||
"pull_request.unlocked",
|
||||
"pull_request_review",
|
||||
"pull_request_review.dismissed",
|
||||
"pull_request_review.edited",
|
||||
"pull_request_review.submitted",
|
||||
"pull_request_review_comment",
|
||||
"pull_request_review_comment.created",
|
||||
"pull_request_review_comment.deleted",
|
||||
"pull_request_review_comment.edited",
|
||||
"pull_request_review_thread",
|
||||
"pull_request_review_thread.resolved",
|
||||
"pull_request_review_thread.unresolved",
|
||||
"push",
|
||||
"registry_package",
|
||||
"registry_package.published",
|
||||
"registry_package.updated",
|
||||
"release",
|
||||
"release.created",
|
||||
"release.deleted",
|
||||
"release.edited",
|
||||
"release.prereleased",
|
||||
"release.published",
|
||||
"release.released",
|
||||
"release.unpublished",
|
||||
"repository",
|
||||
"repository.archived",
|
||||
"repository.created",
|
||||
"repository.deleted",
|
||||
"repository.edited",
|
||||
"repository.privatized",
|
||||
"repository.publicized",
|
||||
"repository.renamed",
|
||||
"repository.transferred",
|
||||
"repository.unarchived",
|
||||
"repository_dispatch",
|
||||
"repository_import",
|
||||
"repository_vulnerability_alert",
|
||||
"repository_vulnerability_alert.create",
|
||||
"repository_vulnerability_alert.dismiss",
|
||||
"repository_vulnerability_alert.reopen",
|
||||
"repository_vulnerability_alert.resolve",
|
||||
"secret_scanning_alert",
|
||||
"secret_scanning_alert.created",
|
||||
"secret_scanning_alert.reopened",
|
||||
"secret_scanning_alert.resolved",
|
||||
"secret_scanning_alert.revoked",
|
||||
"secret_scanning_alert_location",
|
||||
"secret_scanning_alert_location.created",
|
||||
"security_advisory",
|
||||
"security_advisory.performed",
|
||||
"security_advisory.published",
|
||||
"security_advisory.updated",
|
||||
"security_advisory.withdrawn",
|
||||
"sponsorship",
|
||||
"sponsorship.cancelled",
|
||||
"sponsorship.created",
|
||||
"sponsorship.edited",
|
||||
"sponsorship.pending_cancellation",
|
||||
"sponsorship.pending_tier_change",
|
||||
"sponsorship.tier_changed",
|
||||
"star",
|
||||
"star.created",
|
||||
"star.deleted",
|
||||
"status",
|
||||
"team",
|
||||
"team.added_to_repository",
|
||||
"team.created",
|
||||
"team.deleted",
|
||||
"team.edited",
|
||||
"team.removed_from_repository",
|
||||
"team_add",
|
||||
"watch",
|
||||
"watch.started",
|
||||
"workflow_dispatch",
|
||||
"workflow_job",
|
||||
"workflow_job.completed",
|
||||
"workflow_job.in_progress",
|
||||
"workflow_job.queued",
|
||||
"workflow_job.waiting",
|
||||
"workflow_run",
|
||||
"workflow_run.completed",
|
||||
"workflow_run.in_progress",
|
||||
"workflow_run.requested"
|
||||
];
|
||||
|
||||
// pkg/dist-src/event-handler/on.js
|
||||
function handleEventHandlers(state, webhookName, handler) {
|
||||
if (!state.hooks[webhookName]) {
|
||||
state.hooks[webhookName] = [];
|
||||
}
|
||||
state.hooks[webhookName].push(handler);
|
||||
}
|
||||
function receiverOn(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => receiverOn(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (["*", "error"].includes(webhookNameOrNames)) {
|
||||
const webhookName = webhookNameOrNames === "*" ? "any" : webhookNameOrNames;
|
||||
const message = `Using the "${webhookNameOrNames}" event with the regular Webhooks.on() function is not supported. Please use the Webhooks.on${webhookName.charAt(0).toUpperCase() + webhookName.slice(1)}() method instead`;
|
||||
throw new Error(message);
|
||||
}
|
||||
if (!emitterEventNames.includes(webhookNameOrNames)) {
|
||||
state.log.warn(
|
||||
`"${webhookNameOrNames}" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)`
|
||||
);
|
||||
}
|
||||
handleEventHandlers(state, webhookNameOrNames, handler);
|
||||
}
|
||||
function receiverOnAny(state, handler) {
|
||||
handleEventHandlers(state, "*", handler);
|
||||
}
|
||||
function receiverOnError(state, handler) {
|
||||
handleEventHandlers(state, "error", handler);
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/receive.js
|
||||
import AggregateError from "aggregate-error";
|
||||
|
||||
// pkg/dist-src/event-handler/wrap-error-handler.js
|
||||
function wrapErrorHandler(handler, error) {
|
||||
let returnValue;
|
||||
try {
|
||||
returnValue = handler(error);
|
||||
} catch (error2) {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
}
|
||||
if (returnValue && returnValue.catch) {
|
||||
returnValue.catch((error2) => {
|
||||
console.log('FATAL: Error occurred in "error" event handler');
|
||||
console.log(error2);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/receive.js
|
||||
function getHooks(state, eventPayloadAction, eventName) {
|
||||
const hooks = [state.hooks[eventName], state.hooks["*"]];
|
||||
if (eventPayloadAction) {
|
||||
hooks.unshift(state.hooks[`${eventName}.${eventPayloadAction}`]);
|
||||
}
|
||||
return [].concat(...hooks.filter(Boolean));
|
||||
}
|
||||
function receiverHandle(state, event) {
|
||||
const errorHandlers = state.hooks.error || [];
|
||||
if (event instanceof Error) {
|
||||
const error = Object.assign(new AggregateError([event]), {
|
||||
event,
|
||||
errors: [event]
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
return Promise.reject(error);
|
||||
}
|
||||
if (!event || !event.name) {
|
||||
throw new AggregateError(["Event name not passed"]);
|
||||
}
|
||||
if (!event.payload) {
|
||||
throw new AggregateError(["Event payload not passed"]);
|
||||
}
|
||||
const hooks = getHooks(
|
||||
state,
|
||||
"action" in event.payload ? event.payload.action : null,
|
||||
event.name
|
||||
);
|
||||
if (hooks.length === 0) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
const errors = [];
|
||||
const promises = hooks.map((handler) => {
|
||||
let promise = Promise.resolve(event);
|
||||
if (state.transform) {
|
||||
promise = promise.then(state.transform);
|
||||
}
|
||||
return promise.then((event2) => {
|
||||
return handler(event2);
|
||||
}).catch((error) => errors.push(Object.assign(error, { event })));
|
||||
});
|
||||
return Promise.all(promises).then(() => {
|
||||
if (errors.length === 0) {
|
||||
return;
|
||||
}
|
||||
const error = new AggregateError(errors);
|
||||
Object.assign(error, {
|
||||
event,
|
||||
errors
|
||||
});
|
||||
errorHandlers.forEach((handler) => wrapErrorHandler(handler, error));
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/remove-listener.js
|
||||
function removeListener(state, webhookNameOrNames, handler) {
|
||||
if (Array.isArray(webhookNameOrNames)) {
|
||||
webhookNameOrNames.forEach(
|
||||
(webhookName) => removeListener(state, webhookName, handler)
|
||||
);
|
||||
return;
|
||||
}
|
||||
if (!state.hooks[webhookNameOrNames]) {
|
||||
return;
|
||||
}
|
||||
for (let i = state.hooks[webhookNameOrNames].length - 1; i >= 0; i--) {
|
||||
if (state.hooks[webhookNameOrNames][i] === handler) {
|
||||
state.hooks[webhookNameOrNames].splice(i, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/event-handler/index.js
|
||||
function createEventHandler(options) {
|
||||
const state = {
|
||||
hooks: {},
|
||||
log: createLogger(options && options.log)
|
||||
};
|
||||
if (options && options.transform) {
|
||||
state.transform = options.transform;
|
||||
}
|
||||
return {
|
||||
on: receiverOn.bind(null, state),
|
||||
onAny: receiverOnAny.bind(null, state),
|
||||
onError: receiverOnError.bind(null, state),
|
||||
removeListener: removeListener.bind(null, state),
|
||||
receive: receiverHandle.bind(null, state)
|
||||
};
|
||||
}
|
||||
|
||||
// pkg/dist-src/index.js
|
||||
import { sign, verify as verify2 } from "@octokit/webhooks-methods";
|
||||
|
||||
// pkg/dist-src/verify-and-receive.js
|
||||
import AggregateError2 from "aggregate-error";
|
||||
import { verify } from "@octokit/webhooks-methods";
|
||||
async function verifyAndReceive(state, event) {
|
||||
const matchesSignature = await verify(
|
||||
state.secret,
|
||||
event.payload,
|
||||
event.signature
|
||||
).catch(() => false);
|
||||
if (!matchesSignature) {
|
||||
const error = new Error(
|
||||
"[@octokit/webhooks] signature does not match event payload and secret"
|
||||
);
|
||||
return state.eventHandler.receive(
|
||||
Object.assign(error, { event, status: 400 })
|
||||
);
|
||||
}
|
||||
let payload;
|
||||
try {
|
||||
payload = JSON.parse(event.payload);
|
||||
} catch (error) {
|
||||
error.message = "Invalid JSON";
|
||||
error.status = 400;
|
||||
throw new AggregateError2([error]);
|
||||
}
|
||||
return state.eventHandler.receive({
|
||||
id: event.id,
|
||||
name: event.name,
|
||||
payload
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/get-missing-headers.js
|
||||
var WEBHOOK_HEADERS = [
|
||||
"x-github-event",
|
||||
"x-hub-signature-256",
|
||||
"x-github-delivery"
|
||||
];
|
||||
function getMissingHeaders(request) {
|
||||
return WEBHOOK_HEADERS.filter((header) => !(header in request.headers));
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/get-payload.js
|
||||
import AggregateError3 from "aggregate-error";
|
||||
function getPayload(request) {
|
||||
if ("body" in request) {
|
||||
if (typeof request.body === "object" && "rawBody" in request && request.rawBody instanceof Buffer) {
|
||||
return Promise.resolve(request.rawBody.toString("utf8"));
|
||||
} else {
|
||||
return Promise.resolve(request.body);
|
||||
}
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
let data = [];
|
||||
request.on("error", (error) => reject(new AggregateError3([error])));
|
||||
request.on("data", (chunk) => data.push(chunk));
|
||||
request.on(
|
||||
"end",
|
||||
() => (
|
||||
// setImmediate improves the throughput by reducing the pressure from
|
||||
// the event loop
|
||||
setImmediate(
|
||||
resolve,
|
||||
data.length === 1 ? data[0].toString("utf8") : Buffer.concat(data).toString("utf8")
|
||||
)
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/on-unhandled-request-default.js
|
||||
function onUnhandledRequestDefault(request, response) {
|
||||
response.writeHead(404, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unknown route: ${request.method} ${request.url}`
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/middleware.js
|
||||
async function middleware(webhooks, options, request, response, next) {
|
||||
let pathname;
|
||||
try {
|
||||
pathname = new URL(request.url, "http://localhost").pathname;
|
||||
} catch (error) {
|
||||
response.writeHead(422, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Request URL could not be parsed: ${request.url}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
if (pathname !== options.path) {
|
||||
next?.();
|
||||
return false;
|
||||
} else if (request.method !== "POST") {
|
||||
onUnhandledRequestDefault(request, response);
|
||||
return true;
|
||||
}
|
||||
if (!request.headers["content-type"] || !request.headers["content-type"].startsWith("application/json")) {
|
||||
response.writeHead(415, {
|
||||
"content-type": "application/json",
|
||||
accept: "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Unsupported "Content-Type" header value. Must be "application/json"`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const missingHeaders = getMissingHeaders(request).join(", ");
|
||||
if (missingHeaders) {
|
||||
response.writeHead(400, {
|
||||
"content-type": "application/json"
|
||||
});
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: `Required headers missing: ${missingHeaders}`
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
const eventName = request.headers["x-github-event"];
|
||||
const signatureSHA256 = request.headers["x-hub-signature-256"];
|
||||
const id = request.headers["x-github-delivery"];
|
||||
options.log.debug(`${eventName} event received (id: ${id})`);
|
||||
let didTimeout = false;
|
||||
const timeout = setTimeout(() => {
|
||||
didTimeout = true;
|
||||
response.statusCode = 202;
|
||||
response.end("still processing\n");
|
||||
}, 9e3).unref();
|
||||
try {
|
||||
const payload = await getPayload(request);
|
||||
await webhooks.verifyAndReceive({
|
||||
id,
|
||||
name: eventName,
|
||||
payload,
|
||||
signature: signatureSHA256
|
||||
});
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
response.end("ok\n");
|
||||
return true;
|
||||
} catch (error) {
|
||||
clearTimeout(timeout);
|
||||
if (didTimeout)
|
||||
return true;
|
||||
const err = Array.from(error)[0];
|
||||
const errorMessage = err.message ? `${err.name}: ${err.message}` : "Error: An Unspecified error occurred";
|
||||
response.statusCode = typeof err.status !== "undefined" ? err.status : 500;
|
||||
options.log.error(error);
|
||||
response.end(
|
||||
JSON.stringify({
|
||||
error: errorMessage
|
||||
})
|
||||
);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// pkg/dist-src/middleware/node/index.js
|
||||
function createNodeMiddleware(webhooks, {
|
||||
path = "/api/github/webhooks",
|
||||
log = createLogger()
|
||||
} = {}) {
|
||||
return middleware.bind(null, webhooks, {
|
||||
path,
|
||||
log
|
||||
});
|
||||
}
|
||||
|
||||
// pkg/dist-src/index.js
|
||||
var Webhooks = class {
|
||||
constructor(options) {
|
||||
if (!options || !options.secret) {
|
||||
throw new Error("[@octokit/webhooks] options.secret required");
|
||||
}
|
||||
const state = {
|
||||
eventHandler: createEventHandler(options),
|
||||
secret: options.secret,
|
||||
hooks: {},
|
||||
log: createLogger(options.log)
|
||||
};
|
||||
this.sign = sign.bind(null, options.secret);
|
||||
this.verify = verify2.bind(null, options.secret);
|
||||
this.on = state.eventHandler.on;
|
||||
this.onAny = state.eventHandler.onAny;
|
||||
this.onError = state.eventHandler.onError;
|
||||
this.removeListener = state.eventHandler.removeListener;
|
||||
this.receive = state.eventHandler.receive;
|
||||
this.verifyAndReceive = verifyAndReceive.bind(null, state);
|
||||
}
|
||||
};
|
||||
export {
|
||||
Webhooks,
|
||||
createEventHandler,
|
||||
createNodeMiddleware,
|
||||
emitterEventNames
|
||||
};
|
||||
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-web/index.js.map
generated
vendored
Normal file
7
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/dist-web/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
49
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/package.json
generated
vendored
Normal file
49
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/@octokit/webhooks/package.json
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "@octokit/webhooks",
|
||||
"version": "12.3.1",
|
||||
"description": "GitHub webhook events toolset for Node.js",
|
||||
"keywords": [],
|
||||
"repository": "github:octokit/webhooks.js",
|
||||
"license": "MIT",
|
||||
"author": "Gregor Martynus (https://twitter.com/gr2m)",
|
||||
"dependencies": {
|
||||
"@octokit/request-error": "^5.0.0",
|
||||
"@octokit/webhooks-methods": "^4.1.0",
|
||||
"@octokit/webhooks-types": "7.6.1",
|
||||
"aggregate-error": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jest/types": "^29.0.0",
|
||||
"@octokit/tsconfig": "^2.0.0",
|
||||
"@octokit/webhooks-schemas": "7.6.1",
|
||||
"@types/jest": "^29.0.0",
|
||||
"@types/json-schema": "^7.0.7",
|
||||
"@types/node": "^20.0.0",
|
||||
"@types/prettier": "^2.0.0",
|
||||
"axios": "^1.0.0",
|
||||
"esbuild": "^0.20.0",
|
||||
"express": "^4.17.1",
|
||||
"glob": "^10.0.0",
|
||||
"jest": "^29.0.0",
|
||||
"prettier": "3.2.5",
|
||||
"prettier-plugin-packagejson": "^2.2.9",
|
||||
"ts-jest": "^29.0.0",
|
||||
"ts-node": "^10.0.0",
|
||||
"typescript": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"files": [
|
||||
"dist-*/**",
|
||||
"bin/**"
|
||||
],
|
||||
"main": "dist-node/index.js",
|
||||
"browser": "dist-web/index.js",
|
||||
"types": "dist-types/index.d.ts",
|
||||
"module": "dist-src/index.js",
|
||||
"sideEffects": false
|
||||
}
|
||||
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/aggregate-error
generated
vendored
Symbolic link
1
node_modules/.pnpm/@octokit+webhooks@12.3.1/node_modules/aggregate-error
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../../aggregate-error@3.1.0/node_modules/aggregate-error
|
||||
Reference in New Issue
Block a user