@automate.ax/integration-contracts 0.88.2 → 0.88.4

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.
Files changed (35) hide show
  1. package/dist/github/additional-events.d.ts +219 -16710
  2. package/dist/github/additional-events.js +67 -98
  3. package/dist/github/index.d.ts +97 -2
  4. package/dist/github/index.js +382 -5
  5. package/dist/github/openapi-types.d.ts +21 -0
  6. package/dist/github/openapi-types.generated.d.ts +52350 -0
  7. package/dist/github/openapi-types.generated.js +1 -0
  8. package/dist/github/openapi-types.js +1 -0
  9. package/dist/github/resources.d.ts +7435 -17936
  10. package/dist/github/resources.js +40 -135
  11. package/dist/github/rest-schemas.d.ts +11 -0
  12. package/dist/github/rest-schemas.generated.json +1 -0
  13. package/dist/github/rest-schemas.js +24 -0
  14. package/dist/github/schemas.d.ts +4554 -7321
  15. package/dist/github/schemas.js +68 -77
  16. package/dist/github/webhook-operations.d.ts +52 -0
  17. package/dist/github/webhook-operations.js +134 -0
  18. package/dist/github/webhook-schemas.d.ts +12 -0
  19. package/dist/github/webhook-schemas.generated.json +1 -0
  20. package/dist/github/webhook-schemas.js +28 -0
  21. package/dist/linear/schemas.d.ts +1 -1
  22. package/dist/vercel/index.d.ts +12 -12
  23. package/dist/vercel/schemas.d.ts +18 -18
  24. package/package.json +6 -3
  25. package/src/github/additional-events.ts +631 -273
  26. package/src/github/index.ts +761 -8
  27. package/src/github/openapi-types.generated.ts +52352 -0
  28. package/src/github/openapi-types.ts +59 -0
  29. package/src/github/resources.ts +106 -303
  30. package/src/github/rest-schemas.generated.json +1 -0
  31. package/src/github/rest-schemas.ts +35 -0
  32. package/src/github/schemas.ts +593 -195
  33. package/src/github/webhook-operations.ts +171 -0
  34. package/src/github/webhook-schemas.generated.json +1 -0
  35. package/src/github/webhook-schemas.ts +43 -0
@@ -1,76 +1,56 @@
1
1
  import * as z from "zod";
2
+ import { githubRestResourceSchema } from "./rest-schemas.js";
3
+ import { githubWebhookEventSchema, } from "./webhook-schemas.js";
2
4
  export * from "./resources.js";
3
5
  export * from "./additional-events.js";
4
- const GITHUB_EVENT_BASE_SCHEMA = z.looseObject({
5
- installation: z.looseObject({ id: z.number().int().positive() }),
6
- repository: z.looseObject({
7
- full_name: z.string(),
8
- id: z.number().int().positive(),
9
- }),
10
- sender: z.looseObject({
11
- id: z.number().int().positive(),
12
- login: z.string(),
13
- }),
14
- });
15
- const GITHUB_ISSUE_EVENT_BASE_SCHEMA = GITHUB_EVENT_BASE_SCHEMA.extend({
16
- action: z.string(),
17
- issue: z.looseObject({ id: z.number(), number: z.number().int() }),
18
- });
19
- const GITHUB_PULL_REQUEST_EVENT_BASE_SCHEMA = GITHUB_EVENT_BASE_SCHEMA.extend({
20
- action: z.string(),
21
- pull_request: z.looseObject({
22
- id: z.number(),
23
- merged: z.boolean(),
24
- number: z.number().int(),
25
- }),
26
- });
27
- const GITHUB_PULL_REQUEST_REVIEW_EVENT_BASE_SCHEMA = GITHUB_PULL_REQUEST_EVENT_BASE_SCHEMA.extend({
28
- review: z.looseObject({ id: z.number() }),
29
- });
30
- const GITHUB_PUSH_EVENT_BASE_SCHEMA = GITHUB_EVENT_BASE_SCHEMA.extend({
31
- after: z.string(),
32
- before: z.string(),
33
- ref: z.string(),
34
- });
35
- const GITHUB_RELEASE_EVENT_BASE_SCHEMA = GITHUB_EVENT_BASE_SCHEMA.extend({
36
- action: z.string(),
37
- release: z.looseObject({ id: z.number(), tag_name: z.string() }),
38
- });
39
- const GITHUB_WORKFLOW_RUN_EVENT_BASE_SCHEMA = GITHUB_EVENT_BASE_SCHEMA.extend({
40
- action: z.string(),
41
- workflow_run: z.looseObject({
42
- conclusion: z.string().nullable(),
43
- id: z.number(),
44
- }),
45
- });
46
- const GITHUB_ISSUE_BASE_SCHEMA = z.looseObject({
47
- id: z.number(),
48
- number: z.number().int(),
49
- title: z.string(),
50
- });
51
- const GITHUB_PULL_REQUEST_BASE_SCHEMA = GITHUB_ISSUE_BASE_SCHEMA.extend({
52
- head: z.looseObject({ ref: z.string(), sha: z.string() }),
53
- });
54
- const GITHUB_ISSUE_COMMENT_BASE_SCHEMA = z.looseObject({
55
- body: z.string().nullable(),
56
- id: z.number(),
57
- });
58
- const GITHUB_PULL_REQUEST_REVIEW_BASE_SCHEMA = z.looseObject({
59
- id: z.number(),
60
- state: z.string(),
61
- });
62
- export const GITHUB_ISSUE_EVENT_SCHEMA = z.custom((value) => GITHUB_ISSUE_EVENT_BASE_SCHEMA.safeParse(value).success);
63
- export const GITHUB_PULL_REQUEST_EVENT_SCHEMA = z.custom((value) => GITHUB_PULL_REQUEST_EVENT_BASE_SCHEMA.safeParse(value).success);
64
- export const GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA = z.custom((value) => GITHUB_PULL_REQUEST_REVIEW_EVENT_BASE_SCHEMA.safeParse(value).success);
65
- export const GITHUB_PUSH_EVENT_SCHEMA = z.custom((value) => GITHUB_PUSH_EVENT_BASE_SCHEMA.safeParse(value).success);
66
- export const GITHUB_RELEASE_EVENT_SCHEMA = z.custom((value) => GITHUB_RELEASE_EVENT_BASE_SCHEMA.safeParse(value).success);
67
- export const GITHUB_WORKFLOW_RUN_EVENT_SCHEMA = z.custom((value) => GITHUB_WORKFLOW_RUN_EVENT_BASE_SCHEMA.safeParse(value).success);
6
+ export { getGitHubWebhookOperation } from "./webhook-operations.js";
7
+ export const GITHUB_ISSUE_EVENT_SCHEMA = githubWebhookEventSchema("issues");
8
+ export const GITHUB_PULL_REQUEST_EVENT_SCHEMA = githubWebhookEventSchema("pull_request");
9
+ export const GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA = githubWebhookEventSchema("pull_request_review");
10
+ export const GITHUB_PUSH_EVENT_SCHEMA = githubWebhookEventSchema("push");
11
+ export const GITHUB_RELEASE_EVENT_SCHEMA = githubWebhookEventSchema("release");
12
+ export const GITHUB_WORKFLOW_RUN_EVENT_SCHEMA = githubWebhookEventSchema("workflow_run");
68
13
  export const GITHUB_ISSUE_OPENED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "opened");
14
+ export const GITHUB_ISSUE_ASSIGNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "assigned");
69
15
  export const GITHUB_ISSUE_REOPENED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "reopened");
70
16
  export const GITHUB_ISSUE_CLOSED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "closed");
17
+ export const GITHUB_ISSUE_DELETED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "deleted");
18
+ export const GITHUB_ISSUE_DEMILESTONED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "demilestoned");
19
+ export const GITHUB_ISSUE_EDITED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "edited");
20
+ export const GITHUB_ISSUE_FIELD_ADDED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "field_added");
21
+ export const GITHUB_ISSUE_FIELD_REMOVED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "field_removed");
22
+ export const GITHUB_ISSUE_LABELED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "labeled");
23
+ export const GITHUB_ISSUE_LOCKED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "locked");
24
+ export const GITHUB_ISSUE_MILESTONED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "milestoned");
25
+ export const GITHUB_ISSUE_PINNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "pinned");
26
+ export const GITHUB_ISSUE_TRANSFERRED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "transferred");
27
+ export const GITHUB_ISSUE_TYPED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "typed");
28
+ export const GITHUB_ISSUE_UNASSIGNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "unassigned");
29
+ export const GITHUB_ISSUE_UNLABELED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "unlabeled");
30
+ export const GITHUB_ISSUE_UNLOCKED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "unlocked");
31
+ export const GITHUB_ISSUE_UNPINNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "unpinned");
32
+ export const GITHUB_ISSUE_UNTYPED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_ISSUE_EVENT_SCHEMA, (event) => event.action === "untyped");
33
+ export const GITHUB_PULL_REQUEST_ASSIGNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "assigned");
34
+ export const GITHUB_PULL_REQUEST_AUTO_MERGE_DISABLED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "auto_merge_disabled");
35
+ export const GITHUB_PULL_REQUEST_AUTO_MERGE_ENABLED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "auto_merge_enabled");
36
+ export const GITHUB_PULL_REQUEST_CONVERTED_TO_DRAFT_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "converted_to_draft");
37
+ export const GITHUB_PULL_REQUEST_DEMILESTONED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "demilestoned");
38
+ export const GITHUB_PULL_REQUEST_DEQUEUED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "dequeued");
39
+ export const GITHUB_PULL_REQUEST_EDITED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "edited");
40
+ export const GITHUB_PULL_REQUEST_ENQUEUED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "enqueued");
41
+ export const GITHUB_PULL_REQUEST_LABELED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "labeled");
42
+ export const GITHUB_PULL_REQUEST_LOCKED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "locked");
43
+ export const GITHUB_PULL_REQUEST_MILESTONED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "milestoned");
71
44
  export const GITHUB_PULL_REQUEST_OPENED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "opened");
72
45
  export const GITHUB_PULL_REQUEST_READY_FOR_REVIEW_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "ready_for_review");
46
+ export const GITHUB_PULL_REQUEST_REOPENED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "reopened");
47
+ export const GITHUB_PULL_REQUEST_REVIEW_REQUEST_REMOVED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "review_request_removed");
48
+ export const GITHUB_PULL_REQUEST_REVIEW_REQUESTED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "review_requested");
49
+ export const GITHUB_PULL_REQUEST_STACKED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "stacked");
73
50
  export const GITHUB_PULL_REQUEST_SYNCHRONIZED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "synchronize");
51
+ export const GITHUB_PULL_REQUEST_UNASSIGNED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "unassigned");
52
+ export const GITHUB_PULL_REQUEST_UNLABELED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "unlabeled");
53
+ export const GITHUB_PULL_REQUEST_UNLOCKED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "unlocked");
74
54
  export const GITHUB_PULL_REQUEST_CLOSED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "closed" && !event.pull_request.merged);
75
55
  export const GITHUB_PULL_REQUEST_MERGED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_EVENT_SCHEMA, (event) => event.action === "closed" && event.pull_request.merged);
76
56
  export const GITHUB_PULL_REQUEST_REVIEW_SUBMITTED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA, (event) => event.action === "submitted");
@@ -78,6 +58,7 @@ export const GITHUB_PULL_REQUEST_REVIEW_APPROVED_EVENT_SCHEMA = githubSemanticEv
78
58
  export const GITHUB_PULL_REQUEST_REVIEW_CHANGES_REQUESTED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA, (event) => event.action === "submitted" &&
79
59
  event.review.state === "changes_requested");
80
60
  export const GITHUB_PULL_REQUEST_REVIEW_DISMISSED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA, (event) => event.action === "dismissed");
61
+ export const GITHUB_PULL_REQUEST_REVIEW_EDITED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_PULL_REQUEST_REVIEW_EVENT_SCHEMA, (event) => event.action === "edited");
81
62
  export const GITHUB_WORKFLOW_RUN_REQUESTED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "requested");
82
63
  export const GITHUB_WORKFLOW_RUN_STARTED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "in_progress");
83
64
  export const GITHUB_WORKFLOW_RUN_COMPLETED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed");
@@ -87,20 +68,30 @@ export const GITHUB_WORKFLOW_RUN_FAILED_EVENT_SCHEMA = githubSemanticEventSchema
87
68
  event.workflow_run.conclusion === "failure");
88
69
  export const GITHUB_WORKFLOW_RUN_CANCELLED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
89
70
  event.workflow_run.conclusion === "cancelled");
71
+ export const GITHUB_WORKFLOW_RUN_ACTION_REQUIRED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
72
+ event.workflow_run.conclusion === "action_required");
73
+ export const GITHUB_WORKFLOW_RUN_NEUTRAL_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
74
+ event.workflow_run.conclusion === "neutral");
75
+ export const GITHUB_WORKFLOW_RUN_SKIPPED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
76
+ event.workflow_run.conclusion === "skipped");
77
+ export const GITHUB_WORKFLOW_RUN_STALE_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" && event.workflow_run.conclusion === "stale");
78
+ export const GITHUB_WORKFLOW_RUN_STARTUP_FAILED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
79
+ event.workflow_run.conclusion === "startup_failure");
80
+ export const GITHUB_WORKFLOW_RUN_TIMED_OUT_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_WORKFLOW_RUN_EVENT_SCHEMA, (event) => event.action === "completed" &&
81
+ event.workflow_run.conclusion === "timed_out");
90
82
  export const GITHUB_RELEASE_PUBLISHED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "published");
91
- export const GITHUB_ISSUE_SCHEMA = z.custom((value) => GITHUB_ISSUE_BASE_SCHEMA.safeParse(value).success);
92
- export const GITHUB_PULL_REQUEST_SCHEMA = z.custom((value) => GITHUB_PULL_REQUEST_BASE_SCHEMA.safeParse(value).success);
93
- export const GITHUB_PULL_REQUEST_SUMMARY_SCHEMA = z.custom((value) => GITHUB_PULL_REQUEST_BASE_SCHEMA.safeParse(value).success);
94
- export const GITHUB_ISSUE_COMMENT_SCHEMA = z.custom((value) => GITHUB_ISSUE_COMMENT_BASE_SCHEMA.safeParse(value).success);
95
- export const GITHUB_PULL_REQUEST_REVIEW_SCHEMA = z.custom((value) => GITHUB_PULL_REQUEST_REVIEW_BASE_SCHEMA.safeParse(value).success);
96
- export const GITHUB_PULL_REQUEST_MERGE_SCHEMA = z.object({
97
- /** Provider status text describing the merge result. */
98
- message: z.string(),
99
- /** Whether GitHub merged the pull request. */
100
- merged: z.boolean(),
101
- /** Merge commit SHA, when GitHub created one. */
102
- sha: z.string().nullable(),
103
- });
83
+ export const GITHUB_RELEASE_CREATED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "created");
84
+ export const GITHUB_RELEASE_DELETED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "deleted");
85
+ export const GITHUB_RELEASE_EDITED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "edited");
86
+ export const GITHUB_RELEASE_PRERELEASED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "prereleased");
87
+ export const GITHUB_RELEASE_RELEASED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "released");
88
+ export const GITHUB_RELEASE_UNPUBLISHED_EVENT_SCHEMA = githubSemanticEventSchema(GITHUB_RELEASE_EVENT_SCHEMA, (event) => event.action === "unpublished");
89
+ export const GITHUB_ISSUE_SCHEMA = githubRestResourceSchema("issue");
90
+ export const GITHUB_PULL_REQUEST_SCHEMA = githubRestResourceSchema("pull-request");
91
+ export const GITHUB_PULL_REQUEST_SUMMARY_SCHEMA = githubRestResourceSchema("pull-request-summary");
92
+ export const GITHUB_ISSUE_COMMENT_SCHEMA = githubRestResourceSchema("issue-comment");
93
+ export const GITHUB_PULL_REQUEST_REVIEW_SCHEMA = githubRestResourceSchema("pull-request-review");
94
+ export const GITHUB_PULL_REQUEST_MERGE_SCHEMA = githubRestResourceSchema("pull-request-merge");
104
95
  /**
105
96
  * Narrows a validated broad GitHub webhook family to one semantic event.
106
97
  *
@@ -0,0 +1,52 @@
1
+ declare const GITHUB_WEBHOOK_ACTIONS: {
2
+ readonly check_run: readonly ["completed", "created", "requested_action", "rerequested"];
3
+ readonly check_suite: readonly ["completed", "requested", "rerequested"];
4
+ readonly commit_comment: readonly ["created"];
5
+ readonly deployment: readonly ["created"];
6
+ readonly deployment_protection_rule: readonly ["requested"];
7
+ readonly deployment_review: readonly ["approved", "rejected", "requested"];
8
+ readonly deployment_status: readonly ["created"];
9
+ readonly installation: readonly ["created", "deleted", "new_permissions_accepted", "suspend", "unsuspend"];
10
+ readonly installation_repositories: readonly ["added", "removed"];
11
+ readonly installation_target: readonly ["renamed"];
12
+ readonly issue_comment: readonly ["created", "deleted", "edited", "pinned", "unpinned"];
13
+ readonly issue_dependencies: readonly ["blocked_by_added", "blocked_by_removed", "blocking_added", "blocking_removed"];
14
+ readonly issues: readonly ["assigned", "closed", "deleted", "demilestoned", "edited", "field_added", "field_removed", "labeled", "locked", "milestoned", "opened", "pinned", "reopened", "transferred", "typed", "unassigned", "unlabeled", "unlocked", "unpinned", "untyped"];
15
+ readonly merge_group: readonly ["checks_requested", "destroyed"];
16
+ readonly pull_request: readonly ["assigned", "auto_merge_disabled", "auto_merge_enabled", "closed", "converted_to_draft", "demilestoned", "dequeued", "edited", "enqueued", "labeled", "locked", "milestoned", "opened", "ready_for_review", "reopened", "review_request_removed", "review_requested", "stacked", "synchronize", "unassigned", "unlabeled", "unlocked"];
17
+ readonly pull_request_review: readonly ["dismissed", "edited", "submitted"];
18
+ readonly pull_request_review_comment: readonly ["created", "deleted", "edited"];
19
+ readonly pull_request_review_thread: readonly ["resolved", "unresolved"];
20
+ readonly release: readonly ["created", "deleted", "edited", "prereleased", "published", "released", "unpublished"];
21
+ readonly repository: readonly ["archived", "created", "deleted", "edited", "privatized", "publicized", "renamed", "transferred", "unarchived"];
22
+ readonly sub_issues: readonly ["parent_issue_added", "parent_issue_removed", "sub_issue_added", "sub_issue_removed"];
23
+ readonly workflow_job: readonly ["completed", "in_progress", "queued", "waiting"];
24
+ readonly workflow_run: readonly ["completed", "in_progress", "requested"];
25
+ };
26
+ declare const GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS: {
27
+ readonly create: "create";
28
+ readonly delete: "delete";
29
+ readonly push: "push";
30
+ readonly repository_dispatch: "repository-dispatch-sample.collected";
31
+ readonly status: "status";
32
+ readonly workflow_dispatch: "workflow-dispatch";
33
+ };
34
+ /** Resolves an action discriminator across the generated event family map. */
35
+ type GitHubWebhookActionForOperation<TOperation extends string> = {
36
+ [TEventName in keyof typeof GITHUB_WEBHOOK_ACTIONS]: {
37
+ [TAction in (typeof GITHUB_WEBHOOK_ACTIONS)[TEventName][number]]: `${ReplaceUnderscores<TEventName>}-${ReplaceUnderscores<TAction>}` extends TOperation ? TAction : never;
38
+ }[(typeof GITHUB_WEBHOOK_ACTIONS)[TEventName][number]];
39
+ }[keyof typeof GITHUB_WEBHOOK_ACTIONS];
40
+ /** Action discriminator required by one classified webhook operation. */
41
+ export type GitHubWebhookAction<TOperation extends string> = TOperation extends string ? GitHubWebhookActionForOperation<TOperation> : never;
42
+ type ReplaceUnderscores<TValue extends string> = TValue extends `${infer THead}_${infer TTail}` ? `${THead}-${ReplaceUnderscores<TTail>}` : TValue;
43
+ export type GitHubWebhookEventName = keyof typeof GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS | keyof typeof GITHUB_WEBHOOK_ACTIONS;
44
+ export declare const GITHUB_WEBHOOK_OPERATIONS: readonly string[];
45
+ /**
46
+ * Resolves one GitHub event header and body to its frozen OpenAPI operation.
47
+ *
48
+ * @param eventName - GitHub event header value.
49
+ * @param value - Parsed webhook body.
50
+ */
51
+ export declare function getGitHubWebhookOperation(eventName: GitHubWebhookEventName, value: unknown): string | undefined;
52
+ export {};
@@ -0,0 +1,134 @@
1
+ /* oxlint-disable typescript/no-unsafe-type-assertion -- Membership checks narrow the two disjoint generated operation maps. */
2
+ const GITHUB_WEBHOOK_ACTIONS = {
3
+ check_run: ["completed", "created", "requested_action", "rerequested"],
4
+ check_suite: ["completed", "requested", "rerequested"],
5
+ commit_comment: ["created"],
6
+ deployment: ["created"],
7
+ deployment_protection_rule: ["requested"],
8
+ deployment_review: ["approved", "rejected", "requested"],
9
+ deployment_status: ["created"],
10
+ installation: [
11
+ "created",
12
+ "deleted",
13
+ "new_permissions_accepted",
14
+ "suspend",
15
+ "unsuspend",
16
+ ],
17
+ installation_repositories: ["added", "removed"],
18
+ installation_target: ["renamed"],
19
+ issue_comment: ["created", "deleted", "edited", "pinned", "unpinned"],
20
+ issue_dependencies: [
21
+ "blocked_by_added",
22
+ "blocked_by_removed",
23
+ "blocking_added",
24
+ "blocking_removed",
25
+ ],
26
+ issues: [
27
+ "assigned",
28
+ "closed",
29
+ "deleted",
30
+ "demilestoned",
31
+ "edited",
32
+ "field_added",
33
+ "field_removed",
34
+ "labeled",
35
+ "locked",
36
+ "milestoned",
37
+ "opened",
38
+ "pinned",
39
+ "reopened",
40
+ "transferred",
41
+ "typed",
42
+ "unassigned",
43
+ "unlabeled",
44
+ "unlocked",
45
+ "unpinned",
46
+ "untyped",
47
+ ],
48
+ merge_group: ["checks_requested", "destroyed"],
49
+ pull_request: [
50
+ "assigned",
51
+ "auto_merge_disabled",
52
+ "auto_merge_enabled",
53
+ "closed",
54
+ "converted_to_draft",
55
+ "demilestoned",
56
+ "dequeued",
57
+ "edited",
58
+ "enqueued",
59
+ "labeled",
60
+ "locked",
61
+ "milestoned",
62
+ "opened",
63
+ "ready_for_review",
64
+ "reopened",
65
+ "review_request_removed",
66
+ "review_requested",
67
+ "stacked",
68
+ "synchronize",
69
+ "unassigned",
70
+ "unlabeled",
71
+ "unlocked",
72
+ ],
73
+ pull_request_review: ["dismissed", "edited", "submitted"],
74
+ pull_request_review_comment: ["created", "deleted", "edited"],
75
+ pull_request_review_thread: ["resolved", "unresolved"],
76
+ release: [
77
+ "created",
78
+ "deleted",
79
+ "edited",
80
+ "prereleased",
81
+ "published",
82
+ "released",
83
+ "unpublished",
84
+ ],
85
+ repository: [
86
+ "archived",
87
+ "created",
88
+ "deleted",
89
+ "edited",
90
+ "privatized",
91
+ "publicized",
92
+ "renamed",
93
+ "transferred",
94
+ "unarchived",
95
+ ],
96
+ sub_issues: [
97
+ "parent_issue_added",
98
+ "parent_issue_removed",
99
+ "sub_issue_added",
100
+ "sub_issue_removed",
101
+ ],
102
+ workflow_job: ["completed", "in_progress", "queued", "waiting"],
103
+ workflow_run: ["completed", "in_progress", "requested"],
104
+ };
105
+ const GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS = {
106
+ create: "create",
107
+ delete: "delete",
108
+ push: "push",
109
+ repository_dispatch: "repository-dispatch-sample.collected",
110
+ status: "status",
111
+ workflow_dispatch: "workflow-dispatch",
112
+ };
113
+ export const GITHUB_WEBHOOK_OPERATIONS = [
114
+ ...Object.values(GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS),
115
+ ...Object.entries(GITHUB_WEBHOOK_ACTIONS).flatMap(([eventName, actions]) => actions.map((action) => `${eventName.replaceAll("_", "-")}-${action.replaceAll("_", "-")}`)),
116
+ ];
117
+ /**
118
+ * Resolves one GitHub event header and body to its frozen OpenAPI operation.
119
+ *
120
+ * @param eventName - GitHub event header value.
121
+ * @param value - Parsed webhook body.
122
+ */
123
+ export function getGitHubWebhookOperation(eventName, value) {
124
+ if (eventName in GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS) {
125
+ return GITHUB_ACTIONLESS_WEBHOOK_OPERATIONS[eventName];
126
+ }
127
+ if (!value || typeof value !== "object" || !("action" in value))
128
+ return;
129
+ const action = value.action;
130
+ const actions = GITHUB_WEBHOOK_ACTIONS[eventName];
131
+ if (typeof action !== "string" || !actions.includes(action))
132
+ return;
133
+ return `${eventName.replaceAll("_", "-")}-${action.replaceAll("_", "-")}`;
134
+ }
@@ -0,0 +1,12 @@
1
+ import * as z from "zod";
2
+ import { type GitHubWebhookEventName } from "./webhook-operations.js";
3
+ /** Runtime validator for one typed GitHub webhook payload. */
4
+ export type GitHubWebhookSchema<TEvent> = z.ZodType<TEvent>;
5
+ /**
6
+ * Validates a GitHub webhook against the frozen 2026-03-10 provider schema. The
7
+ * JSON Schema interpreter shares the generated definition data instead of
8
+ * compiling and retaining one large executable graph per provider operation.
9
+ *
10
+ * @param eventName - GitHub event header value.
11
+ */
12
+ export declare function githubWebhookEventSchema<TEvent>(eventName: GitHubWebhookEventName): GitHubWebhookSchema<TEvent>;