@ubiquity-os/plugin-sdk 1.1.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +118 -50
- package/dist/index.mjs +116 -48
- package/dist/manifest.d.mts +2 -2
- package/dist/manifest.d.ts +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -17,6 +17,10 @@ The `createActionsPlugin` function allows users to create plugins that will be a
|
|
|
17
17
|
|
|
18
18
|
The `createPlugin` function enables users to create a plugin that will run on Cloudflare Workers environment.
|
|
19
19
|
|
|
20
|
+
### `postComment`
|
|
21
|
+
|
|
22
|
+
The `postComment` function enables users to easily post a comment to an issue, a pull-request, or a pull request review thread.
|
|
23
|
+
|
|
20
24
|
## Getting Started
|
|
21
25
|
|
|
22
26
|
To set up the project locally, `bun` is the preferred package manager.
|
package/dist/index.d.mts
CHANGED
|
@@ -44,9 +44,17 @@ declare function createPlugin<TConfig = unknown, TEnv = unknown, TCommand = unkn
|
|
|
44
44
|
|
|
45
45
|
declare function createActionsPlugin<TConfig = unknown, TEnv = unknown, TCommand = unknown, TSupportedEvents extends EmitterWebhookEventName = EmitterWebhookEventName>(handler: (context: Context<TConfig, TEnv, TCommand, TSupportedEvents>) => HandlerReturn, options?: Options): Promise<void>;
|
|
46
46
|
|
|
47
|
+
interface CommentOptions {
|
|
48
|
+
raw?: boolean;
|
|
49
|
+
updateComment?: boolean;
|
|
50
|
+
}
|
|
51
|
+
type PostComment = {
|
|
52
|
+
(context: Context, message: LogReturn | Error, options?: CommentOptions): Promise<void>;
|
|
53
|
+
lastCommentId?: number;
|
|
54
|
+
};
|
|
47
55
|
/**
|
|
48
56
|
* Posts a comment on a GitHub issue if the issue exists in the context payload, embedding structured metadata to it.
|
|
49
57
|
*/
|
|
50
|
-
declare
|
|
58
|
+
declare const postComment: PostComment;
|
|
51
59
|
|
|
52
60
|
export { type Context, createActionsPlugin, createPlugin, postComment };
|
package/dist/index.d.ts
CHANGED
|
@@ -44,9 +44,17 @@ declare function createPlugin<TConfig = unknown, TEnv = unknown, TCommand = unkn
|
|
|
44
44
|
|
|
45
45
|
declare function createActionsPlugin<TConfig = unknown, TEnv = unknown, TCommand = unknown, TSupportedEvents extends EmitterWebhookEventName = EmitterWebhookEventName>(handler: (context: Context<TConfig, TEnv, TCommand, TSupportedEvents>) => HandlerReturn, options?: Options): Promise<void>;
|
|
46
46
|
|
|
47
|
+
interface CommentOptions {
|
|
48
|
+
raw?: boolean;
|
|
49
|
+
updateComment?: boolean;
|
|
50
|
+
}
|
|
51
|
+
type PostComment = {
|
|
52
|
+
(context: Context, message: LogReturn | Error, options?: CommentOptions): Promise<void>;
|
|
53
|
+
lastCommentId?: number;
|
|
54
|
+
};
|
|
47
55
|
/**
|
|
48
56
|
* Posts a comment on a GitHub issue if the issue exists in the context payload, embedding structured metadata to it.
|
|
49
57
|
*/
|
|
50
|
-
declare
|
|
58
|
+
declare const postComment: PostComment;
|
|
51
59
|
|
|
52
60
|
export { type Context, createActionsPlugin, createPlugin, postComment };
|
package/dist/index.js
CHANGED
|
@@ -41,9 +41,49 @@ var import_typebox = require("@sinclair/typebox");
|
|
|
41
41
|
var import_value = require("@sinclair/typebox/value");
|
|
42
42
|
var import_ubiquity_os_logger2 = require("@ubiquity-os/ubiquity-os-logger");
|
|
43
43
|
var import_hono = require("hono");
|
|
44
|
-
var
|
|
44
|
+
var import_adapter2 = require("hono/adapter");
|
|
45
45
|
var import_http_exception = require("hono/http-exception");
|
|
46
46
|
|
|
47
|
+
// src/helpers/runtime-info.ts
|
|
48
|
+
var import_github = __toESM(require("@actions/github"));
|
|
49
|
+
var import_adapter = require("hono/adapter");
|
|
50
|
+
var PluginRuntimeInfo = class _PluginRuntimeInfo {
|
|
51
|
+
static _instance = null;
|
|
52
|
+
_env = {};
|
|
53
|
+
constructor(env) {
|
|
54
|
+
if (env) {
|
|
55
|
+
this._env = env;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
static getInstance(env) {
|
|
59
|
+
if (!_PluginRuntimeInfo._instance) {
|
|
60
|
+
_PluginRuntimeInfo._instance = (0, import_adapter.getRuntimeKey)() === "workerd" ? new CfRuntimeInfo(env) : new NodeRuntimeInfo(env);
|
|
61
|
+
}
|
|
62
|
+
return _PluginRuntimeInfo._instance;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
var CfRuntimeInfo = class extends PluginRuntimeInfo {
|
|
66
|
+
get version() {
|
|
67
|
+
return Promise.resolve(this._env.CLOUDFLARE_VERSION_METADATA?.id ?? "CLOUDFLARE_VERSION_METADATA");
|
|
68
|
+
}
|
|
69
|
+
get runUrl() {
|
|
70
|
+
const accountId = this._env.CLOUDFLARE_ACCOUNT_ID ?? "<missing-cloudflare-account-id>";
|
|
71
|
+
const workerName = this._env.CLOUDFLARE_WORKER_NAME;
|
|
72
|
+
const toTime = Date.now() + 6e4;
|
|
73
|
+
const fromTime = Date.now() - 6e4;
|
|
74
|
+
const timeParam = encodeURIComponent(`{"type":"absolute","to":${toTime},"from":${fromTime}}`);
|
|
75
|
+
return `https://dash.cloudflare.com/${accountId}/workers/services/view/${workerName}/production/observability/logs?granularity=0&time=${timeParam}`;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
var NodeRuntimeInfo = class extends PluginRuntimeInfo {
|
|
79
|
+
get version() {
|
|
80
|
+
return Promise.resolve(import_github.default.context.sha);
|
|
81
|
+
}
|
|
82
|
+
get runUrl() {
|
|
83
|
+
return import_github.default.context.payload.repository ? `${import_github.default.context.payload.repository?.html_url}/actions/runs/${import_github.default.context.runId}` : "http://localhost";
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
47
87
|
// src/util.ts
|
|
48
88
|
var import_ubiquity_os_logger = require("@ubiquity-os/ubiquity-os-logger");
|
|
49
89
|
|
|
@@ -77,28 +117,74 @@ function getPluginOptions(options) {
|
|
|
77
117
|
}
|
|
78
118
|
|
|
79
119
|
// src/comment.ts
|
|
80
|
-
var HEADER_NAME = "
|
|
81
|
-
async function
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
});
|
|
120
|
+
var HEADER_NAME = "UbiquityOS";
|
|
121
|
+
var postComment = async function(context2, message, options = { updateComment: true, raw: false }) {
|
|
122
|
+
let issueNumber;
|
|
123
|
+
if ("issue" in context2.payload) {
|
|
124
|
+
issueNumber = context2.payload.issue.number;
|
|
125
|
+
} else if ("pull_request" in context2.payload) {
|
|
126
|
+
issueNumber = context2.payload.pull_request.number;
|
|
127
|
+
} else if ("discussion" in context2.payload) {
|
|
128
|
+
issueNumber = context2.payload.discussion.number;
|
|
90
129
|
} else {
|
|
91
|
-
context2.logger.info("Cannot post comment because issue is not found in the payload");
|
|
130
|
+
context2.logger.info("Cannot post comment because issue is not found in the payload.");
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if ("repository" in context2.payload && context2.payload.repository?.owner?.login) {
|
|
134
|
+
const body = await createStructuredMetadataWithMessage(context2, message, options);
|
|
135
|
+
if (options.updateComment && postComment.lastCommentId) {
|
|
136
|
+
await context2.octokit.rest.issues.updateComment({
|
|
137
|
+
owner: context2.payload.repository.owner.login,
|
|
138
|
+
repo: context2.payload.repository.name,
|
|
139
|
+
comment_id: postComment.lastCommentId,
|
|
140
|
+
body
|
|
141
|
+
});
|
|
142
|
+
} else {
|
|
143
|
+
const commentData = await context2.octokit.rest.issues.createComment({
|
|
144
|
+
owner: context2.payload.repository.owner.login,
|
|
145
|
+
repo: context2.payload.repository.name,
|
|
146
|
+
issue_number: issueNumber,
|
|
147
|
+
body
|
|
148
|
+
});
|
|
149
|
+
postComment.lastCommentId = commentData.data.id;
|
|
150
|
+
}
|
|
151
|
+
} else {
|
|
152
|
+
context2.logger.info("Cannot post comment because repository is not found in the payload.", { payload: context2.payload });
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
async function createStructuredMetadataWithMessage(context2, message, options) {
|
|
156
|
+
let logMessage;
|
|
157
|
+
let callingFnName;
|
|
158
|
+
let instigatorName;
|
|
159
|
+
let metadata;
|
|
160
|
+
if (message instanceof Error) {
|
|
161
|
+
metadata = {
|
|
162
|
+
message: message.message,
|
|
163
|
+
name: message.name,
|
|
164
|
+
stack: message.stack
|
|
165
|
+
};
|
|
166
|
+
callingFnName = message.stack?.split("\n")[2]?.match(/at (\S+)/)?.[1] ?? "anonymous";
|
|
167
|
+
logMessage = context2.logger.error(message.message).logMessage;
|
|
168
|
+
} else if (message.metadata) {
|
|
169
|
+
metadata = {
|
|
170
|
+
message: message.metadata.message,
|
|
171
|
+
stack: message.metadata.stack || message.metadata.error?.stack,
|
|
172
|
+
caller: message.metadata.caller || message.metadata.error?.stack?.split("\n")[2]?.match(/at (\S+)/)?.[1]
|
|
173
|
+
};
|
|
174
|
+
logMessage = message.logMessage;
|
|
175
|
+
callingFnName = metadata.caller;
|
|
176
|
+
} else {
|
|
177
|
+
metadata = { ...message };
|
|
92
178
|
}
|
|
93
|
-
}
|
|
94
|
-
function createStructuredMetadata(className, logReturn) {
|
|
95
|
-
const logMessage = logReturn.logMessage;
|
|
96
|
-
const metadata = logReturn.metadata;
|
|
97
179
|
const jsonPretty = sanitizeMetadata(metadata);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
180
|
+
if ("installation" in context2.payload && context2.payload.installation && "account" in context2.payload.installation) {
|
|
181
|
+
instigatorName = context2.payload.installation?.account?.name;
|
|
182
|
+
} else {
|
|
183
|
+
instigatorName = context2.payload.sender?.login || HEADER_NAME;
|
|
184
|
+
}
|
|
185
|
+
const runUrl = PluginRuntimeInfo.getInstance().runUrl;
|
|
186
|
+
const version = await PluginRuntimeInfo.getInstance().version;
|
|
187
|
+
const ubiquityMetadataHeader = `<!-- ${HEADER_NAME} - ${callingFnName} - ${version} - @${instigatorName} - ${runUrl}`;
|
|
102
188
|
let metadataSerialized;
|
|
103
189
|
const metadataSerializedVisible = ["```json", jsonPretty, "```"].join("\n");
|
|
104
190
|
const metadataSerializedHidden = [ubiquityMetadataHeader, jsonPretty, "-->"].join("\n");
|
|
@@ -107,7 +193,8 @@ function createStructuredMetadata(className, logReturn) {
|
|
|
107
193
|
} else {
|
|
108
194
|
metadataSerialized = metadataSerializedHidden;
|
|
109
195
|
}
|
|
110
|
-
return
|
|
196
|
+
return `${options.raw ? logMessage?.raw : logMessage?.diff}
|
|
197
|
+
|
|
111
198
|
${metadataSerialized}
|
|
112
199
|
`;
|
|
113
200
|
}
|
|
@@ -216,7 +303,7 @@ function createPlugin(handler, manifest, options) {
|
|
|
216
303
|
config2 = inputs.settings;
|
|
217
304
|
}
|
|
218
305
|
let env;
|
|
219
|
-
const honoEnvironment = (0,
|
|
306
|
+
const honoEnvironment = (0, import_adapter2.env)(ctx);
|
|
220
307
|
if (pluginOptions.envSchema) {
|
|
221
308
|
try {
|
|
222
309
|
env = import_value.Value.Decode(pluginOptions.envSchema, import_value.Value.Default(pluginOptions.envSchema, honoEnvironment));
|
|
@@ -227,6 +314,8 @@ function createPlugin(handler, manifest, options) {
|
|
|
227
314
|
} else {
|
|
228
315
|
env = ctx.env;
|
|
229
316
|
}
|
|
317
|
+
const workerName = new URL(inputs.ref).hostname.split(".")[0];
|
|
318
|
+
PluginRuntimeInfo.getInstance({ ...env, CLOUDFLARE_WORKER_NAME: workerName });
|
|
230
319
|
let command = null;
|
|
231
320
|
if (inputs.command && pluginOptions.commandSchema) {
|
|
232
321
|
try {
|
|
@@ -253,9 +342,7 @@ function createPlugin(handler, manifest, options) {
|
|
|
253
342
|
} catch (error) {
|
|
254
343
|
console.error(error);
|
|
255
344
|
let loggerError;
|
|
256
|
-
if (error instanceof Error) {
|
|
257
|
-
loggerError = context2.logger.error(`Error: ${error}`, { error });
|
|
258
|
-
} else if (error instanceof import_ubiquity_os_logger2.LogReturn) {
|
|
345
|
+
if (error instanceof Error || error instanceof import_ubiquity_os_logger2.LogReturn) {
|
|
259
346
|
loggerError = error;
|
|
260
347
|
} else {
|
|
261
348
|
loggerError = context2.logger.error(`Error: ${error}`);
|
|
@@ -271,7 +358,7 @@ function createPlugin(handler, manifest, options) {
|
|
|
271
358
|
|
|
272
359
|
// src/actions.ts
|
|
273
360
|
var core = __toESM(require("@actions/core"));
|
|
274
|
-
var
|
|
361
|
+
var github2 = __toESM(require("@actions/github"));
|
|
275
362
|
var import_typebox4 = require("@sinclair/typebox");
|
|
276
363
|
var import_value3 = require("@sinclair/typebox/value");
|
|
277
364
|
var import_ubiquity_os_logger3 = require("@ubiquity-os/ubiquity-os-logger");
|
|
@@ -310,13 +397,13 @@ async function createActionsPlugin(handler, options) {
|
|
|
310
397
|
core.setFailed("Error: PLUGIN_GITHUB_TOKEN env is not set");
|
|
311
398
|
return;
|
|
312
399
|
}
|
|
313
|
-
const body =
|
|
400
|
+
const body = github2.context.payload.inputs;
|
|
314
401
|
const signature = body.signature;
|
|
315
402
|
if (!pluginOptions.bypassSignatureVerification && !await verifySignature(pluginOptions.kernelPublicKey, body, signature)) {
|
|
316
403
|
core.setFailed(`Error: Invalid signature`);
|
|
317
404
|
return;
|
|
318
405
|
}
|
|
319
|
-
const inputPayload =
|
|
406
|
+
const inputPayload = github2.context.payload.inputs;
|
|
320
407
|
const inputSchemaErrors = [...import_value3.Value.Errors(inputSchema2, inputPayload)];
|
|
321
408
|
if (inputSchemaErrors.length) {
|
|
322
409
|
console.dir(inputSchemaErrors, { depth: null });
|
|
@@ -384,34 +471,15 @@ async function createActionsPlugin(handler, options) {
|
|
|
384
471
|
loggerError = context2.logger.error(`Error: ${error}`);
|
|
385
472
|
}
|
|
386
473
|
if (pluginOptions.postCommentOnError && loggerError) {
|
|
387
|
-
await
|
|
474
|
+
await postComment(context2, loggerError);
|
|
388
475
|
}
|
|
389
476
|
}
|
|
390
477
|
}
|
|
391
|
-
async function postErrorComment(context2, error) {
|
|
392
|
-
if ("issue" in context2.payload && context2.payload.repository?.owner?.login) {
|
|
393
|
-
await context2.octokit.rest.issues.createComment({
|
|
394
|
-
owner: context2.payload.repository.owner.login,
|
|
395
|
-
repo: context2.payload.repository.name,
|
|
396
|
-
issue_number: context2.payload.issue.number,
|
|
397
|
-
body: `${error.logMessage.diff}
|
|
398
|
-
<!--
|
|
399
|
-
${getGithubWorkflowRunUrl()}
|
|
400
|
-
${sanitizeMetadata(error.metadata)}
|
|
401
|
-
-->`
|
|
402
|
-
});
|
|
403
|
-
} else {
|
|
404
|
-
context2.logger.info("Cannot post error comment because issue is not found in the payload");
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
function getGithubWorkflowRunUrl() {
|
|
408
|
-
return `${github.context.payload.repository?.html_url}/actions/runs/${github.context.runId}`;
|
|
409
|
-
}
|
|
410
478
|
async function returnDataToKernel(repoToken, stateId, output) {
|
|
411
479
|
const octokit = new customOctokit({ auth: repoToken });
|
|
412
480
|
await octokit.rest.repos.createDispatchEvent({
|
|
413
|
-
owner:
|
|
414
|
-
repo:
|
|
481
|
+
owner: github2.context.repo.owner,
|
|
482
|
+
repo: github2.context.repo.repo,
|
|
415
483
|
event_type: "return-data-to-ubiquity-os-kernel",
|
|
416
484
|
client_payload: {
|
|
417
485
|
state_id: stateId,
|
package/dist/index.mjs
CHANGED
|
@@ -6,6 +6,46 @@ import { Hono } from "hono";
|
|
|
6
6
|
import { env as honoEnv } from "hono/adapter";
|
|
7
7
|
import { HTTPException } from "hono/http-exception";
|
|
8
8
|
|
|
9
|
+
// src/helpers/runtime-info.ts
|
|
10
|
+
import github from "@actions/github";
|
|
11
|
+
import { getRuntimeKey } from "hono/adapter";
|
|
12
|
+
var PluginRuntimeInfo = class _PluginRuntimeInfo {
|
|
13
|
+
static _instance = null;
|
|
14
|
+
_env = {};
|
|
15
|
+
constructor(env) {
|
|
16
|
+
if (env) {
|
|
17
|
+
this._env = env;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static getInstance(env) {
|
|
21
|
+
if (!_PluginRuntimeInfo._instance) {
|
|
22
|
+
_PluginRuntimeInfo._instance = getRuntimeKey() === "workerd" ? new CfRuntimeInfo(env) : new NodeRuntimeInfo(env);
|
|
23
|
+
}
|
|
24
|
+
return _PluginRuntimeInfo._instance;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var CfRuntimeInfo = class extends PluginRuntimeInfo {
|
|
28
|
+
get version() {
|
|
29
|
+
return Promise.resolve(this._env.CLOUDFLARE_VERSION_METADATA?.id ?? "CLOUDFLARE_VERSION_METADATA");
|
|
30
|
+
}
|
|
31
|
+
get runUrl() {
|
|
32
|
+
const accountId = this._env.CLOUDFLARE_ACCOUNT_ID ?? "<missing-cloudflare-account-id>";
|
|
33
|
+
const workerName = this._env.CLOUDFLARE_WORKER_NAME;
|
|
34
|
+
const toTime = Date.now() + 6e4;
|
|
35
|
+
const fromTime = Date.now() - 6e4;
|
|
36
|
+
const timeParam = encodeURIComponent(`{"type":"absolute","to":${toTime},"from":${fromTime}}`);
|
|
37
|
+
return `https://dash.cloudflare.com/${accountId}/workers/services/view/${workerName}/production/observability/logs?granularity=0&time=${timeParam}`;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var NodeRuntimeInfo = class extends PluginRuntimeInfo {
|
|
41
|
+
get version() {
|
|
42
|
+
return Promise.resolve(github.context.sha);
|
|
43
|
+
}
|
|
44
|
+
get runUrl() {
|
|
45
|
+
return github.context.payload.repository ? `${github.context.payload.repository?.html_url}/actions/runs/${github.context.runId}` : "http://localhost";
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
9
49
|
// src/util.ts
|
|
10
50
|
import { LOG_LEVEL } from "@ubiquity-os/ubiquity-os-logger";
|
|
11
51
|
|
|
@@ -39,28 +79,74 @@ function getPluginOptions(options) {
|
|
|
39
79
|
}
|
|
40
80
|
|
|
41
81
|
// src/comment.ts
|
|
42
|
-
var HEADER_NAME = "
|
|
43
|
-
async function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
82
|
+
var HEADER_NAME = "UbiquityOS";
|
|
83
|
+
var postComment = async function(context2, message, options = { updateComment: true, raw: false }) {
|
|
84
|
+
let issueNumber;
|
|
85
|
+
if ("issue" in context2.payload) {
|
|
86
|
+
issueNumber = context2.payload.issue.number;
|
|
87
|
+
} else if ("pull_request" in context2.payload) {
|
|
88
|
+
issueNumber = context2.payload.pull_request.number;
|
|
89
|
+
} else if ("discussion" in context2.payload) {
|
|
90
|
+
issueNumber = context2.payload.discussion.number;
|
|
52
91
|
} else {
|
|
53
|
-
context2.logger.info("Cannot post comment because issue is not found in the payload");
|
|
92
|
+
context2.logger.info("Cannot post comment because issue is not found in the payload.");
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if ("repository" in context2.payload && context2.payload.repository?.owner?.login) {
|
|
96
|
+
const body = await createStructuredMetadataWithMessage(context2, message, options);
|
|
97
|
+
if (options.updateComment && postComment.lastCommentId) {
|
|
98
|
+
await context2.octokit.rest.issues.updateComment({
|
|
99
|
+
owner: context2.payload.repository.owner.login,
|
|
100
|
+
repo: context2.payload.repository.name,
|
|
101
|
+
comment_id: postComment.lastCommentId,
|
|
102
|
+
body
|
|
103
|
+
});
|
|
104
|
+
} else {
|
|
105
|
+
const commentData = await context2.octokit.rest.issues.createComment({
|
|
106
|
+
owner: context2.payload.repository.owner.login,
|
|
107
|
+
repo: context2.payload.repository.name,
|
|
108
|
+
issue_number: issueNumber,
|
|
109
|
+
body
|
|
110
|
+
});
|
|
111
|
+
postComment.lastCommentId = commentData.data.id;
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
context2.logger.info("Cannot post comment because repository is not found in the payload.", { payload: context2.payload });
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
async function createStructuredMetadataWithMessage(context2, message, options) {
|
|
118
|
+
let logMessage;
|
|
119
|
+
let callingFnName;
|
|
120
|
+
let instigatorName;
|
|
121
|
+
let metadata;
|
|
122
|
+
if (message instanceof Error) {
|
|
123
|
+
metadata = {
|
|
124
|
+
message: message.message,
|
|
125
|
+
name: message.name,
|
|
126
|
+
stack: message.stack
|
|
127
|
+
};
|
|
128
|
+
callingFnName = message.stack?.split("\n")[2]?.match(/at (\S+)/)?.[1] ?? "anonymous";
|
|
129
|
+
logMessage = context2.logger.error(message.message).logMessage;
|
|
130
|
+
} else if (message.metadata) {
|
|
131
|
+
metadata = {
|
|
132
|
+
message: message.metadata.message,
|
|
133
|
+
stack: message.metadata.stack || message.metadata.error?.stack,
|
|
134
|
+
caller: message.metadata.caller || message.metadata.error?.stack?.split("\n")[2]?.match(/at (\S+)/)?.[1]
|
|
135
|
+
};
|
|
136
|
+
logMessage = message.logMessage;
|
|
137
|
+
callingFnName = metadata.caller;
|
|
138
|
+
} else {
|
|
139
|
+
metadata = { ...message };
|
|
54
140
|
}
|
|
55
|
-
}
|
|
56
|
-
function createStructuredMetadata(className, logReturn) {
|
|
57
|
-
const logMessage = logReturn.logMessage;
|
|
58
|
-
const metadata = logReturn.metadata;
|
|
59
141
|
const jsonPretty = sanitizeMetadata(metadata);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
142
|
+
if ("installation" in context2.payload && context2.payload.installation && "account" in context2.payload.installation) {
|
|
143
|
+
instigatorName = context2.payload.installation?.account?.name;
|
|
144
|
+
} else {
|
|
145
|
+
instigatorName = context2.payload.sender?.login || HEADER_NAME;
|
|
146
|
+
}
|
|
147
|
+
const runUrl = PluginRuntimeInfo.getInstance().runUrl;
|
|
148
|
+
const version = await PluginRuntimeInfo.getInstance().version;
|
|
149
|
+
const ubiquityMetadataHeader = `<!-- ${HEADER_NAME} - ${callingFnName} - ${version} - @${instigatorName} - ${runUrl}`;
|
|
64
150
|
let metadataSerialized;
|
|
65
151
|
const metadataSerializedVisible = ["```json", jsonPretty, "```"].join("\n");
|
|
66
152
|
const metadataSerializedHidden = [ubiquityMetadataHeader, jsonPretty, "-->"].join("\n");
|
|
@@ -69,7 +155,8 @@ function createStructuredMetadata(className, logReturn) {
|
|
|
69
155
|
} else {
|
|
70
156
|
metadataSerialized = metadataSerializedHidden;
|
|
71
157
|
}
|
|
72
|
-
return
|
|
158
|
+
return `${options.raw ? logMessage?.raw : logMessage?.diff}
|
|
159
|
+
|
|
73
160
|
${metadataSerialized}
|
|
74
161
|
`;
|
|
75
162
|
}
|
|
@@ -189,6 +276,8 @@ function createPlugin(handler, manifest, options) {
|
|
|
189
276
|
} else {
|
|
190
277
|
env = ctx.env;
|
|
191
278
|
}
|
|
279
|
+
const workerName = new URL(inputs.ref).hostname.split(".")[0];
|
|
280
|
+
PluginRuntimeInfo.getInstance({ ...env, CLOUDFLARE_WORKER_NAME: workerName });
|
|
192
281
|
let command = null;
|
|
193
282
|
if (inputs.command && pluginOptions.commandSchema) {
|
|
194
283
|
try {
|
|
@@ -215,9 +304,7 @@ function createPlugin(handler, manifest, options) {
|
|
|
215
304
|
} catch (error) {
|
|
216
305
|
console.error(error);
|
|
217
306
|
let loggerError;
|
|
218
|
-
if (error instanceof Error) {
|
|
219
|
-
loggerError = context2.logger.error(`Error: ${error}`, { error });
|
|
220
|
-
} else if (error instanceof LogReturn2) {
|
|
307
|
+
if (error instanceof Error || error instanceof LogReturn2) {
|
|
221
308
|
loggerError = error;
|
|
222
309
|
} else {
|
|
223
310
|
loggerError = context2.logger.error(`Error: ${error}`);
|
|
@@ -233,7 +320,7 @@ function createPlugin(handler, manifest, options) {
|
|
|
233
320
|
|
|
234
321
|
// src/actions.ts
|
|
235
322
|
import * as core from "@actions/core";
|
|
236
|
-
import * as
|
|
323
|
+
import * as github2 from "@actions/github";
|
|
237
324
|
import { Type as T3 } from "@sinclair/typebox";
|
|
238
325
|
import { Value as Value3 } from "@sinclair/typebox/value";
|
|
239
326
|
import { LogReturn as LogReturn3, Logs as Logs2 } from "@ubiquity-os/ubiquity-os-logger";
|
|
@@ -272,13 +359,13 @@ async function createActionsPlugin(handler, options) {
|
|
|
272
359
|
core.setFailed("Error: PLUGIN_GITHUB_TOKEN env is not set");
|
|
273
360
|
return;
|
|
274
361
|
}
|
|
275
|
-
const body =
|
|
362
|
+
const body = github2.context.payload.inputs;
|
|
276
363
|
const signature = body.signature;
|
|
277
364
|
if (!pluginOptions.bypassSignatureVerification && !await verifySignature(pluginOptions.kernelPublicKey, body, signature)) {
|
|
278
365
|
core.setFailed(`Error: Invalid signature`);
|
|
279
366
|
return;
|
|
280
367
|
}
|
|
281
|
-
const inputPayload =
|
|
368
|
+
const inputPayload = github2.context.payload.inputs;
|
|
282
369
|
const inputSchemaErrors = [...Value3.Errors(inputSchema2, inputPayload)];
|
|
283
370
|
if (inputSchemaErrors.length) {
|
|
284
371
|
console.dir(inputSchemaErrors, { depth: null });
|
|
@@ -346,34 +433,15 @@ async function createActionsPlugin(handler, options) {
|
|
|
346
433
|
loggerError = context2.logger.error(`Error: ${error}`);
|
|
347
434
|
}
|
|
348
435
|
if (pluginOptions.postCommentOnError && loggerError) {
|
|
349
|
-
await
|
|
436
|
+
await postComment(context2, loggerError);
|
|
350
437
|
}
|
|
351
438
|
}
|
|
352
439
|
}
|
|
353
|
-
async function postErrorComment(context2, error) {
|
|
354
|
-
if ("issue" in context2.payload && context2.payload.repository?.owner?.login) {
|
|
355
|
-
await context2.octokit.rest.issues.createComment({
|
|
356
|
-
owner: context2.payload.repository.owner.login,
|
|
357
|
-
repo: context2.payload.repository.name,
|
|
358
|
-
issue_number: context2.payload.issue.number,
|
|
359
|
-
body: `${error.logMessage.diff}
|
|
360
|
-
<!--
|
|
361
|
-
${getGithubWorkflowRunUrl()}
|
|
362
|
-
${sanitizeMetadata(error.metadata)}
|
|
363
|
-
-->`
|
|
364
|
-
});
|
|
365
|
-
} else {
|
|
366
|
-
context2.logger.info("Cannot post error comment because issue is not found in the payload");
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
function getGithubWorkflowRunUrl() {
|
|
370
|
-
return `${github.context.payload.repository?.html_url}/actions/runs/${github.context.runId}`;
|
|
371
|
-
}
|
|
372
440
|
async function returnDataToKernel(repoToken, stateId, output) {
|
|
373
441
|
const octokit = new customOctokit({ auth: repoToken });
|
|
374
442
|
await octokit.rest.repos.createDispatchEvent({
|
|
375
|
-
owner:
|
|
376
|
-
repo:
|
|
443
|
+
owner: github2.context.repo.owner,
|
|
444
|
+
repo: github2.context.repo.repo,
|
|
377
445
|
event_type: "return-data-to-ubiquity-os-kernel",
|
|
378
446
|
client_payload: {
|
|
379
447
|
state_id: stateId,
|
package/dist/manifest.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sinclair_typebox from '@sinclair/typebox';
|
|
2
2
|
import { Static } from '@sinclair/typebox';
|
|
3
3
|
|
|
4
|
-
declare const runEvent: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.
|
|
4
|
+
declare const runEvent: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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" | "projects_v2_status_update" | "projects_v2_status_update.created" | "projects_v2_status_update.deleted" | "projects_v2_status_update.edited" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.validated" | "secret_scanning_alert_location" | "secret_scanning_alert_location.created" | "security_advisory" | "security_advisory.published" | "security_advisory.updated" | "security_advisory.withdrawn" | "security_and_analysis" | "sponsorship" | "sponsorship.cancelled" | "sponsorship.created" | "sponsorship.edited" | "sponsorship.pending_cancellation" | "sponsorship.pending_tier_change" | "sponsorship.tier_changed" | "star" | "star.created" | "star.deleted" | "status" | "sub_issues" | "sub_issues.parent_issue_added" | "sub_issues.parent_issue_removed" | "sub_issues.sub_issue_added" | "sub_issues.sub_issue_removed" | "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">[]>;
|
|
5
5
|
declare const commandSchema: _sinclair_typebox.TObject<{
|
|
6
6
|
description: _sinclair_typebox.TString;
|
|
7
7
|
"ubiquity:example": _sinclair_typebox.TString;
|
|
@@ -15,7 +15,7 @@ declare const manifestSchema: _sinclair_typebox.TObject<{
|
|
|
15
15
|
"ubiquity:example": _sinclair_typebox.TString;
|
|
16
16
|
parameters: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
|
|
17
17
|
}>>>;
|
|
18
|
-
"ubiquity:listeners": _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.
|
|
18
|
+
"ubiquity:listeners": _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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" | "projects_v2_status_update" | "projects_v2_status_update.created" | "projects_v2_status_update.deleted" | "projects_v2_status_update.edited" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.validated" | "secret_scanning_alert_location" | "secret_scanning_alert_location.created" | "security_advisory" | "security_advisory.published" | "security_advisory.updated" | "security_advisory.withdrawn" | "security_and_analysis" | "sponsorship" | "sponsorship.cancelled" | "sponsorship.created" | "sponsorship.edited" | "sponsorship.pending_cancellation" | "sponsorship.pending_tier_change" | "sponsorship.tier_changed" | "star" | "star.created" | "star.deleted" | "status" | "sub_issues" | "sub_issues.parent_issue_added" | "sub_issues.parent_issue_removed" | "sub_issues.sub_issue_added" | "sub_issues.sub_issue_removed" | "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">[]>>>;
|
|
19
19
|
configuration: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
|
|
20
20
|
skipBotEvents: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
|
|
21
21
|
}>;
|
package/dist/manifest.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _sinclair_typebox from '@sinclair/typebox';
|
|
2
2
|
import { Static } from '@sinclair/typebox';
|
|
3
3
|
|
|
4
|
-
declare const runEvent: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.
|
|
4
|
+
declare const runEvent: _sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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" | "projects_v2_status_update" | "projects_v2_status_update.created" | "projects_v2_status_update.deleted" | "projects_v2_status_update.edited" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.validated" | "secret_scanning_alert_location" | "secret_scanning_alert_location.created" | "security_advisory" | "security_advisory.published" | "security_advisory.updated" | "security_advisory.withdrawn" | "security_and_analysis" | "sponsorship" | "sponsorship.cancelled" | "sponsorship.created" | "sponsorship.edited" | "sponsorship.pending_cancellation" | "sponsorship.pending_tier_change" | "sponsorship.tier_changed" | "star" | "star.created" | "star.deleted" | "status" | "sub_issues" | "sub_issues.parent_issue_added" | "sub_issues.parent_issue_removed" | "sub_issues.sub_issue_added" | "sub_issues.sub_issue_removed" | "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">[]>;
|
|
5
5
|
declare const commandSchema: _sinclair_typebox.TObject<{
|
|
6
6
|
description: _sinclair_typebox.TString;
|
|
7
7
|
"ubiquity:example": _sinclair_typebox.TString;
|
|
@@ -15,7 +15,7 @@ declare const manifestSchema: _sinclair_typebox.TObject<{
|
|
|
15
15
|
"ubiquity:example": _sinclair_typebox.TString;
|
|
16
16
|
parameters: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
|
|
17
17
|
}>>>;
|
|
18
|
-
"ubiquity:listeners": _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.
|
|
18
|
+
"ubiquity:listeners": _sinclair_typebox.TOptional<_sinclair_typebox.TArray<_sinclair_typebox.TUnion<_sinclair_typebox.TLiteral<"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.updated" | "custom_property_values" | "custom_property_values.updated" | "delete" | "dependabot_alert" | "dependabot_alert.auto_dismissed" | "dependabot_alert.auto_reopened" | "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.closed" | "discussion.created" | "discussion.deleted" | "discussion.edited" | "discussion.labeled" | "discussion.locked" | "discussion.pinned" | "discussion.reopened" | "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" | "personal_access_token_request" | "personal_access_token_request.approved" | "personal_access_token_request.cancelled" | "personal_access_token_request.created" | "personal_access_token_request.denied" | "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" | "projects_v2.closed" | "projects_v2.created" | "projects_v2.deleted" | "projects_v2.edited" | "projects_v2.reopened" | "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" | "projects_v2_status_update" | "projects_v2_status_update.created" | "projects_v2_status_update.deleted" | "projects_v2_status_update.edited" | "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_advisory" | "repository_advisory.published" | "repository_advisory.reported" | "repository_dispatch" | "repository_dispatch.sample.collected" | "repository_import" | "repository_ruleset" | "repository_ruleset.created" | "repository_ruleset.deleted" | "repository_ruleset.edited" | "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.validated" | "secret_scanning_alert_location" | "secret_scanning_alert_location.created" | "security_advisory" | "security_advisory.published" | "security_advisory.updated" | "security_advisory.withdrawn" | "security_and_analysis" | "sponsorship" | "sponsorship.cancelled" | "sponsorship.created" | "sponsorship.edited" | "sponsorship.pending_cancellation" | "sponsorship.pending_tier_change" | "sponsorship.tier_changed" | "star" | "star.created" | "star.deleted" | "status" | "sub_issues" | "sub_issues.parent_issue_added" | "sub_issues.parent_issue_removed" | "sub_issues.sub_issue_added" | "sub_issues.sub_issue_removed" | "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">[]>>>;
|
|
19
19
|
configuration: _sinclair_typebox.TOptional<_sinclair_typebox.TRecord<_sinclair_typebox.TString, _sinclair_typebox.TAny>>;
|
|
20
20
|
skipBotEvents: _sinclair_typebox.TOptional<_sinclair_typebox.TBoolean>;
|
|
21
21
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ubiquity-os/plugin-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "SDK for plugin support.",
|
|
5
5
|
"author": "Ubiquity DAO",
|
|
6
6
|
"license": "MIT",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"eslint-config-prettier": "^9.1.0",
|
|
111
111
|
"eslint-plugin-check-file": "^2.8.0",
|
|
112
112
|
"eslint-plugin-prettier": "^5.2.1",
|
|
113
|
-
"eslint-plugin-sonarjs": "^
|
|
113
|
+
"eslint-plugin-sonarjs": "^3.0.1",
|
|
114
114
|
"husky": "^9.0.11",
|
|
115
115
|
"jest": "^29.7.0",
|
|
116
116
|
"jest-junit": "^16.0.0",
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
},
|
|
130
130
|
"lint-staged": {
|
|
131
131
|
"*.ts": [
|
|
132
|
-
"
|
|
132
|
+
"prettier --write",
|
|
133
133
|
"eslint --fix"
|
|
134
134
|
],
|
|
135
135
|
"src/**.{ts,json}": [
|