@generacy-ai/generacy-plugin-github-actions 0.0.0-preview-20260304013206
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/LICENSE +191 -0
- package/dist/client.d.ts +46 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +109 -0
- package/dist/client.js.map +1 -0
- package/dist/events/emitter.d.ts +40 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +104 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/types.d.ts +61 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +48 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/operations/artifacts.d.ts +46 -0
- package/dist/operations/artifacts.d.ts.map +1 -0
- package/dist/operations/artifacts.js +166 -0
- package/dist/operations/artifacts.js.map +1 -0
- package/dist/operations/check-runs.d.ts +58 -0
- package/dist/operations/check-runs.d.ts.map +1 -0
- package/dist/operations/check-runs.js +188 -0
- package/dist/operations/check-runs.js.map +1 -0
- package/dist/operations/jobs.d.ts +35 -0
- package/dist/operations/jobs.d.ts.map +1 -0
- package/dist/operations/jobs.js +134 -0
- package/dist/operations/jobs.js.map +1 -0
- package/dist/operations/runs.d.ts +49 -0
- package/dist/operations/runs.d.ts.map +1 -0
- package/dist/operations/runs.js +164 -0
- package/dist/operations/runs.js.map +1 -0
- package/dist/operations/workflows.d.ts +32 -0
- package/dist/operations/workflows.d.ts.map +1 -0
- package/dist/operations/workflows.js +138 -0
- package/dist/operations/workflows.js.map +1 -0
- package/dist/plugin.d.ts +254 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +471 -0
- package/dist/plugin.js.map +1 -0
- package/dist/polling/status-poller.d.ts +58 -0
- package/dist/polling/status-poller.d.ts.map +1 -0
- package/dist/polling/status-poller.js +167 -0
- package/dist/polling/status-poller.js.map +1 -0
- package/dist/polling/types.d.ts +54 -0
- package/dist/polling/types.d.ts.map +1 -0
- package/dist/polling/types.js +21 -0
- package/dist/polling/types.js.map +1 -0
- package/dist/types/artifacts.d.ts +49 -0
- package/dist/types/artifacts.d.ts.map +1 -0
- package/dist/types/artifacts.js +22 -0
- package/dist/types/artifacts.js.map +1 -0
- package/dist/types/check-runs.d.ts +123 -0
- package/dist/types/check-runs.d.ts.map +1 -0
- package/dist/types/check-runs.js +13 -0
- package/dist/types/check-runs.js.map +1 -0
- package/dist/types/config.d.ts +131 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +40 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/events.d.ts +69 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +19 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/jobs.d.ts +71 -0
- package/dist/types/jobs.d.ts.map +1 -0
- package/dist/types/jobs.js +19 -0
- package/dist/types/jobs.js.map +1 -0
- package/dist/types/workflows.d.ts +101 -0
- package/dist/types/workflows.d.ts.map +1 -0
- package/dist/types/workflows.js +19 -0
- package/dist/types/workflows.js.map +1 -0
- package/dist/utils/errors.d.ts +77 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +122 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/validation.d.ts +74 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +86 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a GitHub SHA (40-character hex string)
|
|
4
|
+
*/
|
|
5
|
+
export const shaSchema = z
|
|
6
|
+
.string()
|
|
7
|
+
.regex(/^[a-f0-9]{40}$/i, 'Invalid SHA: must be a 40-character hex string');
|
|
8
|
+
/**
|
|
9
|
+
* Validate a workflow identifier (filename or numeric ID)
|
|
10
|
+
*/
|
|
11
|
+
export const workflowIdSchema = z.union([
|
|
12
|
+
z.number().positive('Workflow ID must be positive'),
|
|
13
|
+
z.string().min(1, 'Workflow filename cannot be empty'),
|
|
14
|
+
]);
|
|
15
|
+
/**
|
|
16
|
+
* Validate a run ID
|
|
17
|
+
*/
|
|
18
|
+
export const runIdSchema = z.number().positive('Run ID must be positive');
|
|
19
|
+
/**
|
|
20
|
+
* Validate a job ID
|
|
21
|
+
*/
|
|
22
|
+
export const jobIdSchema = z.number().positive('Job ID must be positive');
|
|
23
|
+
/**
|
|
24
|
+
* Validate an artifact ID
|
|
25
|
+
*/
|
|
26
|
+
export const artifactIdSchema = z
|
|
27
|
+
.number()
|
|
28
|
+
.positive('Artifact ID must be positive');
|
|
29
|
+
/**
|
|
30
|
+
* Validate a check run ID
|
|
31
|
+
*/
|
|
32
|
+
export const checkRunIdSchema = z
|
|
33
|
+
.number()
|
|
34
|
+
.positive('Check run ID must be positive');
|
|
35
|
+
/**
|
|
36
|
+
* Validate workflow inputs (key-value pairs of strings)
|
|
37
|
+
*/
|
|
38
|
+
export const workflowInputsSchema = z.record(z.string(), z.string()).optional();
|
|
39
|
+
/**
|
|
40
|
+
* Validate a Git ref (branch or tag name)
|
|
41
|
+
*/
|
|
42
|
+
export const gitRefSchema = z
|
|
43
|
+
.string()
|
|
44
|
+
.min(1, 'Git ref cannot be empty')
|
|
45
|
+
.optional();
|
|
46
|
+
/**
|
|
47
|
+
* Check if a value is a valid SHA
|
|
48
|
+
*/
|
|
49
|
+
export function isValidSha(value) {
|
|
50
|
+
return shaSchema.safeParse(value).success;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if a value is a valid workflow identifier
|
|
54
|
+
*/
|
|
55
|
+
export function isValidWorkflowId(value) {
|
|
56
|
+
return workflowIdSchema.safeParse(value).success;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if a value is a positive integer
|
|
60
|
+
*/
|
|
61
|
+
export function isPositiveInteger(value) {
|
|
62
|
+
return Number.isInteger(value) && value > 0;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Assert that a value is defined (not null or undefined)
|
|
66
|
+
*/
|
|
67
|
+
export function assertDefined(value, message) {
|
|
68
|
+
if (value === null || value === undefined) {
|
|
69
|
+
throw new Error(message);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Parse and validate trigger workflow parameters
|
|
74
|
+
*/
|
|
75
|
+
export const triggerWorkflowParamsSchema = z.object({
|
|
76
|
+
workflow: workflowIdSchema,
|
|
77
|
+
ref: gitRefSchema,
|
|
78
|
+
inputs: workflowInputsSchema,
|
|
79
|
+
});
|
|
80
|
+
/**
|
|
81
|
+
* Validate trigger workflow parameters
|
|
82
|
+
*/
|
|
83
|
+
export function validateTriggerParams(params) {
|
|
84
|
+
return triggerWorkflowParamsSchema.parse(params);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,KAAK,CAAC,iBAAiB,EAAE,gDAAgD,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACnD,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;KACjC,QAAQ,EAAE,CAAC;AAEd;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,OAAO,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAA2B,EAC3B,OAAe;IAEf,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,YAAY;IACjB,MAAM,EAAE,oBAAoB;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAe;IAKnD,OAAO,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@generacy-ai/generacy-plugin-github-actions",
|
|
3
|
+
"version": "0.0.0-preview-20260304013206",
|
|
4
|
+
"description": "GitHub Actions integration plugin for Generacy",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"keywords": [
|
|
18
|
+
"generacy",
|
|
19
|
+
"github",
|
|
20
|
+
"actions",
|
|
21
|
+
"ci",
|
|
22
|
+
"cd",
|
|
23
|
+
"plugin",
|
|
24
|
+
"automation"
|
|
25
|
+
],
|
|
26
|
+
"author": "Generacy AI",
|
|
27
|
+
"license": "Apache-2.0",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/generacy-ai/generacy.git",
|
|
31
|
+
"directory": "packages/github-actions"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20.0.0"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"@generacy-ai/latency": "^0.1.0",
|
|
38
|
+
"@generacy-ai/latency-plugin-ci-cd": "^0.1.0",
|
|
39
|
+
"@octokit/rest": "^21.0.2",
|
|
40
|
+
"@octokit/types": "^13.6.2",
|
|
41
|
+
"zod": "^3.23.8"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/node": "^22.10.2",
|
|
45
|
+
"typescript": "^5.7.2",
|
|
46
|
+
"vitest": "^3.2.4"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {},
|
|
49
|
+
"peerDependenciesMeta": {},
|
|
50
|
+
"publishConfig": {
|
|
51
|
+
"access": "public"
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"build": "tsc",
|
|
55
|
+
"test": "vitest run",
|
|
56
|
+
"test:watch": "vitest",
|
|
57
|
+
"test:coverage": "vitest run --coverage",
|
|
58
|
+
"lint": "eslint src",
|
|
59
|
+
"typecheck": "tsc --noEmit",
|
|
60
|
+
"clean": "rm -rf dist"
|
|
61
|
+
}
|
|
62
|
+
}
|