terse-types 0.1.4 → 0.1.6

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.
@@ -0,0 +1,18 @@
1
+ import type * as z from "zod";
2
+ export declare const triggerPayloadProjections: Readonly<Record<string, TriggerPayloadProjection>>;
3
+ export declare function isProjectedTriggerName(name: string): boolean;
4
+ export type TriggerPayloadSchemaProjection = {
5
+ kind: "schema";
6
+ schema: z.ZodType;
7
+ /** Printed verbatim after the payload interface name, e.g. "<TBody = unknown>". */
8
+ typeParams?: string;
9
+ /** Dot-path within the payload -> TypeScript type expression printed instead of the schema field. */
10
+ fieldOverrides?: Record<string, string>;
11
+ /** Extra terse-sdk type imports the overrides reference. */
12
+ sdkImports?: string[];
13
+ };
14
+ export type TriggerPayloadUnionProjection = {
15
+ kind: "union";
16
+ members: string[];
17
+ };
18
+ export type TriggerPayloadProjection = TriggerPayloadSchemaProjection | TriggerPayloadUnionProjection;
@@ -0,0 +1,167 @@
1
+ import { GithubIssueCommentCreatedTriggerSchema, GithubPRClosedTriggerSchema, GithubPRMergedTriggerSchema, GithubPROpenedTriggerSchema, GithubPRSynchronizedTriggerSchema, GithubPushTriggerSchema, attioCallRecordingCreatedTriggerSchema, attioCommentCreatedTriggerSchema, attioCommentDeletedTriggerSchema, attioCommentResolvedTriggerSchema, attioCommentUnresolvedTriggerSchema, attioListAttributeCreatedTriggerSchema, attioListAttributeUpdatedTriggerSchema, attioListCreatedTriggerSchema, attioListDeletedTriggerSchema, attioListEntryCreatedTriggerSchema, attioListEntryDeletedTriggerSchema, attioListEntryUpdatedTriggerSchema, attioListUpdatedTriggerSchema, attioNoteContentUpdatedTriggerSchema, attioNoteCreatedTriggerSchema, attioNoteDeletedTriggerSchema, attioNoteUpdatedTriggerSchema, attioObjectAttributeCreatedTriggerSchema, attioObjectAttributeUpdatedTriggerSchema, attioRecordCreatedTriggerSchema, attioRecordDeletedTriggerSchema, attioRecordMergedTriggerSchema, attioRecordUpdatedTriggerSchema, attioTaskCreatedTriggerSchema, attioTaskDeletedTriggerSchema, attioTaskUpdatedTriggerSchema, attioWorkspaceMemberCreatedTriggerSchema, cronTriggerSchema, gmailTriggerSchema, heyReachCampaignCompletedTriggerSchema, heyReachConnectionRequestAcceptedTriggerSchema, heyReachConnectionRequestSentTriggerSchema, heyReachFollowSentTriggerSchema, heyReachInmailReplyReceivedTriggerSchema, heyReachInmailSentTriggerSchema, heyReachLeadTagUpdatedTriggerSchema, heyReachLikedPostTriggerSchema, heyReachMessageReplyReceivedTriggerSchema, heyReachMessageSentTriggerSchema, heyReachViewedProfileTriggerSchema, linearCommentCreatedTriggerSchema, linearIssueCreatedTriggerSchema, linearIssueUpdatedTriggerSchema, slackAppMentionTriggerSchema, slackMessageTriggerSchema, slackReactionAddedTriggerSchema, webMonitorTriggerSchema, webhookTriggerSchema, workOSInvitationAcceptedTriggerSchema, workOSInvitationCreatedTriggerSchema, workOSInvitationResentTriggerSchema, workOSInvitationRevokedTriggerSchema, workOSOrganizationMembershipCreatedTriggerSchema, workOSOrganizationMembershipDeletedTriggerSchema, workOSOrganizationMembershipUpdatedTriggerSchema, workOSOrganizationTriggerSchema, workOSUserCreatedTriggerSchema, workOSUserDeletedTriggerSchema, workOSUserUpdatedTriggerSchema } from "./Triggers.js";
2
+ // The hand-written SlackMessageTrigger et al. widen these schema fields (z.array(z.unknown()))
3
+ // to the structured Slack types, so projections must print the widened form.
4
+ const slackWidenedFields = {
5
+ blocks: "SlackBlocks | null",
6
+ attachments: "SlackAttachments | null",
7
+ files: "SlackFiles | null"
8
+ };
9
+ const slackSdkImports = ["SlackAttachments", "SlackBlocks", "SlackFiles"];
10
+ const attioRecordProjection = (schema) => ({
11
+ kind: "schema",
12
+ schema,
13
+ typeParams: "<TValues = Record<string, unknown>>",
14
+ // The registered attio event transform flattens record.values before handlers run,
15
+ // matching the SDK-level generic, not the raw wire shape.
16
+ fieldOverrides: { "record.values": "TValues" }
17
+ });
18
+ export const triggerPayloadProjections = {
19
+ SlackMessageTrigger: { kind: "schema", schema: slackMessageTriggerSchema, fieldOverrides: slackWidenedFields, sdkImports: slackSdkImports },
20
+ SlackAppMentionTrigger: { kind: "schema", schema: slackAppMentionTriggerSchema, fieldOverrides: slackWidenedFields, sdkImports: slackSdkImports },
21
+ SlackReactionAddedTrigger: { kind: "schema", schema: slackReactionAddedTriggerSchema, fieldOverrides: slackWidenedFields, sdkImports: slackSdkImports },
22
+ SlackTrigger: { kind: "union", members: ["SlackMessageTrigger", "SlackAppMentionTrigger", "SlackReactionAddedTrigger"] },
23
+ GithubPushTrigger: { kind: "schema", schema: GithubPushTriggerSchema },
24
+ GithubPROpenedTrigger: { kind: "schema", schema: GithubPROpenedTriggerSchema },
25
+ GithubPRSynchronizedTrigger: { kind: "schema", schema: GithubPRSynchronizedTriggerSchema },
26
+ GithubPRClosedTrigger: { kind: "schema", schema: GithubPRClosedTriggerSchema },
27
+ GithubPRMergedTrigger: { kind: "schema", schema: GithubPRMergedTriggerSchema },
28
+ GithubIssueCommentCreatedTrigger: { kind: "schema", schema: GithubIssueCommentCreatedTriggerSchema },
29
+ GithubPRTrigger: { kind: "union", members: ["GithubPROpenedTrigger", "GithubPRSynchronizedTrigger", "GithubPRClosedTrigger", "GithubPRMergedTrigger"] },
30
+ GithubTrigger: {
31
+ kind: "union",
32
+ members: ["GithubPushTrigger", "GithubPROpenedTrigger", "GithubPRSynchronizedTrigger", "GithubPRClosedTrigger", "GithubPRMergedTrigger", "GithubIssueCommentCreatedTrigger"]
33
+ },
34
+ GmailTrigger: { kind: "schema", schema: gmailTriggerSchema },
35
+ LinearIssueCreatedTrigger: { kind: "schema", schema: linearIssueCreatedTriggerSchema },
36
+ LinearIssueUpdatedTrigger: { kind: "schema", schema: linearIssueUpdatedTriggerSchema },
37
+ LinearCommentCreatedTrigger: { kind: "schema", schema: linearCommentCreatedTriggerSchema },
38
+ LinearTrigger: { kind: "union", members: ["LinearIssueCreatedTrigger", "LinearIssueUpdatedTrigger", "LinearCommentCreatedTrigger"] },
39
+ WorkOSUserCreatedTrigger: { kind: "schema", schema: workOSUserCreatedTriggerSchema },
40
+ WorkOSUserUpdatedTrigger: { kind: "schema", schema: workOSUserUpdatedTriggerSchema },
41
+ WorkOSUserDeletedTrigger: { kind: "schema", schema: workOSUserDeletedTriggerSchema },
42
+ WorkOSUserTrigger: { kind: "union", members: ["WorkOSUserCreatedTrigger", "WorkOSUserUpdatedTrigger", "WorkOSUserDeletedTrigger"] },
43
+ WorkOSOrganizationMembershipCreatedTrigger: { kind: "schema", schema: workOSOrganizationMembershipCreatedTriggerSchema },
44
+ WorkOSOrganizationMembershipUpdatedTrigger: { kind: "schema", schema: workOSOrganizationMembershipUpdatedTriggerSchema },
45
+ WorkOSOrganizationMembershipDeletedTrigger: { kind: "schema", schema: workOSOrganizationMembershipDeletedTriggerSchema },
46
+ WorkOSMembershipTrigger: {
47
+ kind: "union",
48
+ members: ["WorkOSOrganizationMembershipCreatedTrigger", "WorkOSOrganizationMembershipUpdatedTrigger", "WorkOSOrganizationMembershipDeletedTrigger"]
49
+ },
50
+ WorkOSInvitationCreatedTrigger: { kind: "schema", schema: workOSInvitationCreatedTriggerSchema },
51
+ WorkOSInvitationAcceptedTrigger: { kind: "schema", schema: workOSInvitationAcceptedTriggerSchema },
52
+ WorkOSInvitationResentTrigger: { kind: "schema", schema: workOSInvitationResentTriggerSchema },
53
+ WorkOSInvitationRevokedTrigger: { kind: "schema", schema: workOSInvitationRevokedTriggerSchema },
54
+ WorkOSInvitationTrigger: {
55
+ kind: "union",
56
+ members: ["WorkOSInvitationCreatedTrigger", "WorkOSInvitationAcceptedTrigger", "WorkOSInvitationResentTrigger", "WorkOSInvitationRevokedTrigger"]
57
+ },
58
+ WorkOSOrganizationTrigger: { kind: "schema", schema: workOSOrganizationTriggerSchema },
59
+ WorkOSTrigger: {
60
+ kind: "union",
61
+ members: [
62
+ "WorkOSUserCreatedTrigger",
63
+ "WorkOSUserUpdatedTrigger",
64
+ "WorkOSUserDeletedTrigger",
65
+ "WorkOSOrganizationMembershipCreatedTrigger",
66
+ "WorkOSOrganizationMembershipUpdatedTrigger",
67
+ "WorkOSOrganizationMembershipDeletedTrigger",
68
+ "WorkOSInvitationCreatedTrigger",
69
+ "WorkOSInvitationAcceptedTrigger",
70
+ "WorkOSInvitationResentTrigger",
71
+ "WorkOSInvitationRevokedTrigger",
72
+ "WorkOSOrganizationTrigger"
73
+ ]
74
+ },
75
+ HeyReachConnectionRequestSentTrigger: { kind: "schema", schema: heyReachConnectionRequestSentTriggerSchema },
76
+ HeyReachConnectionRequestAcceptedTrigger: { kind: "schema", schema: heyReachConnectionRequestAcceptedTriggerSchema },
77
+ HeyReachMessageSentTrigger: { kind: "schema", schema: heyReachMessageSentTriggerSchema },
78
+ HeyReachMessageReplyReceivedTrigger: { kind: "schema", schema: heyReachMessageReplyReceivedTriggerSchema },
79
+ HeyReachInmailSentTrigger: { kind: "schema", schema: heyReachInmailSentTriggerSchema },
80
+ HeyReachInmailReplyReceivedTrigger: { kind: "schema", schema: heyReachInmailReplyReceivedTriggerSchema },
81
+ HeyReachFollowSentTrigger: { kind: "schema", schema: heyReachFollowSentTriggerSchema },
82
+ HeyReachLikedPostTrigger: { kind: "schema", schema: heyReachLikedPostTriggerSchema },
83
+ HeyReachViewedProfileTrigger: { kind: "schema", schema: heyReachViewedProfileTriggerSchema },
84
+ HeyReachCampaignCompletedTrigger: { kind: "schema", schema: heyReachCampaignCompletedTriggerSchema },
85
+ HeyReachLeadTagUpdatedTrigger: { kind: "schema", schema: heyReachLeadTagUpdatedTriggerSchema },
86
+ HeyReachTrigger: {
87
+ kind: "union",
88
+ members: [
89
+ "HeyReachConnectionRequestSentTrigger",
90
+ "HeyReachConnectionRequestAcceptedTrigger",
91
+ "HeyReachMessageSentTrigger",
92
+ "HeyReachMessageReplyReceivedTrigger",
93
+ "HeyReachInmailSentTrigger",
94
+ "HeyReachInmailReplyReceivedTrigger",
95
+ "HeyReachFollowSentTrigger",
96
+ "HeyReachLikedPostTrigger",
97
+ "HeyReachViewedProfileTrigger",
98
+ "HeyReachCampaignCompletedTrigger",
99
+ "HeyReachLeadTagUpdatedTrigger"
100
+ ]
101
+ },
102
+ AttioCallRecordingCreatedTrigger: { kind: "schema", schema: attioCallRecordingCreatedTriggerSchema },
103
+ AttioCommentCreatedTrigger: { kind: "schema", schema: attioCommentCreatedTriggerSchema },
104
+ AttioCommentResolvedTrigger: { kind: "schema", schema: attioCommentResolvedTriggerSchema },
105
+ AttioCommentUnresolvedTrigger: { kind: "schema", schema: attioCommentUnresolvedTriggerSchema },
106
+ AttioCommentDeletedTrigger: { kind: "schema", schema: attioCommentDeletedTriggerSchema },
107
+ AttioListCreatedTrigger: { kind: "schema", schema: attioListCreatedTriggerSchema },
108
+ AttioListUpdatedTrigger: { kind: "schema", schema: attioListUpdatedTriggerSchema },
109
+ AttioListDeletedTrigger: { kind: "schema", schema: attioListDeletedTriggerSchema },
110
+ AttioListAttributeCreatedTrigger: { kind: "schema", schema: attioListAttributeCreatedTriggerSchema },
111
+ AttioListAttributeUpdatedTrigger: { kind: "schema", schema: attioListAttributeUpdatedTriggerSchema },
112
+ AttioListEntryCreatedTrigger: { kind: "schema", schema: attioListEntryCreatedTriggerSchema },
113
+ AttioListEntryUpdatedTrigger: { kind: "schema", schema: attioListEntryUpdatedTriggerSchema },
114
+ AttioListEntryDeletedTrigger: { kind: "schema", schema: attioListEntryDeletedTriggerSchema },
115
+ AttioObjectAttributeCreatedTrigger: { kind: "schema", schema: attioObjectAttributeCreatedTriggerSchema },
116
+ AttioObjectAttributeUpdatedTrigger: { kind: "schema", schema: attioObjectAttributeUpdatedTriggerSchema },
117
+ AttioNoteCreatedTrigger: { kind: "schema", schema: attioNoteCreatedTriggerSchema },
118
+ AttioNoteContentUpdatedTrigger: { kind: "schema", schema: attioNoteContentUpdatedTriggerSchema },
119
+ AttioNoteUpdatedTrigger: { kind: "schema", schema: attioNoteUpdatedTriggerSchema },
120
+ AttioNoteDeletedTrigger: { kind: "schema", schema: attioNoteDeletedTriggerSchema },
121
+ AttioRecordCreatedTrigger: attioRecordProjection(attioRecordCreatedTriggerSchema),
122
+ AttioRecordMergedTrigger: attioRecordProjection(attioRecordMergedTriggerSchema),
123
+ AttioRecordUpdatedTrigger: attioRecordProjection(attioRecordUpdatedTriggerSchema),
124
+ AttioRecordDeletedTrigger: { kind: "schema", schema: attioRecordDeletedTriggerSchema },
125
+ AttioTaskCreatedTrigger: { kind: "schema", schema: attioTaskCreatedTriggerSchema },
126
+ AttioTaskUpdatedTrigger: { kind: "schema", schema: attioTaskUpdatedTriggerSchema },
127
+ AttioTaskDeletedTrigger: { kind: "schema", schema: attioTaskDeletedTriggerSchema },
128
+ AttioWorkspaceMemberCreatedTrigger: { kind: "schema", schema: attioWorkspaceMemberCreatedTriggerSchema },
129
+ AttioTrigger: {
130
+ kind: "union",
131
+ members: [
132
+ "AttioCallRecordingCreatedTrigger",
133
+ "AttioCommentCreatedTrigger",
134
+ "AttioCommentResolvedTrigger",
135
+ "AttioCommentUnresolvedTrigger",
136
+ "AttioCommentDeletedTrigger",
137
+ "AttioListCreatedTrigger",
138
+ "AttioListUpdatedTrigger",
139
+ "AttioListDeletedTrigger",
140
+ "AttioListAttributeCreatedTrigger",
141
+ "AttioListAttributeUpdatedTrigger",
142
+ "AttioListEntryCreatedTrigger",
143
+ "AttioListEntryUpdatedTrigger",
144
+ "AttioListEntryDeletedTrigger",
145
+ "AttioObjectAttributeCreatedTrigger",
146
+ "AttioObjectAttributeUpdatedTrigger",
147
+ "AttioNoteCreatedTrigger",
148
+ "AttioNoteContentUpdatedTrigger",
149
+ "AttioNoteUpdatedTrigger",
150
+ "AttioNoteDeletedTrigger",
151
+ "AttioRecordCreatedTrigger",
152
+ "AttioRecordMergedTrigger",
153
+ "AttioRecordUpdatedTrigger",
154
+ "AttioRecordDeletedTrigger",
155
+ "AttioTaskCreatedTrigger",
156
+ "AttioTaskUpdatedTrigger",
157
+ "AttioTaskDeletedTrigger",
158
+ "AttioWorkspaceMemberCreatedTrigger"
159
+ ]
160
+ },
161
+ CronTrigger: { kind: "schema", schema: cronTriggerSchema },
162
+ WebhookTrigger: { kind: "schema", schema: webhookTriggerSchema, typeParams: "<TBody = unknown>", fieldOverrides: { body: "TBody" } },
163
+ WebMonitorTrigger: { kind: "schema", schema: webMonitorTriggerSchema, typeParams: "<TPayload = unknown>", fieldOverrides: { payload: "TPayload" } }
164
+ };
165
+ export function isProjectedTriggerName(name) {
166
+ return name in triggerPayloadProjections;
167
+ }
@@ -521,6 +521,51 @@ export declare const GithubIssueCommentCreatedTriggerSchema: z.ZodObject<{
521
521
  }, z.core.$strip>;
522
522
  }, z.core.$strip>;
523
523
  export type GithubIssueCommentCreatedTrigger = z.infer<typeof GithubIssueCommentCreatedTriggerSchema>;
524
+ export declare const GithubPRCommentCreatedTriggerSchema: z.ZodObject<{
525
+ integrationType: z.ZodLiteral<IntegrationType.GITHUB>;
526
+ username: z.ZodString;
527
+ installationId: z.ZodNumber;
528
+ repositoryName: z.ZodString;
529
+ repository: z.ZodObject<{
530
+ id: z.ZodNumber;
531
+ name: z.ZodString;
532
+ owner: z.ZodString;
533
+ defaultBranch: z.ZodString;
534
+ }, z.core.$strip>;
535
+ sender: z.ZodObject<{
536
+ login: z.ZodString;
537
+ email: z.ZodOptional<z.ZodString>;
538
+ }, z.core.$strip>;
539
+ eventType: z.ZodLiteral<"issue_comment.created">;
540
+ issue: z.ZodObject<{
541
+ id: z.ZodNumber;
542
+ number: z.ZodNumber;
543
+ title: z.ZodString;
544
+ body: z.ZodOptional<z.ZodString>;
545
+ state: z.ZodEnum<{
546
+ open: "open";
547
+ closed: "closed";
548
+ }>;
549
+ url: z.ZodString;
550
+ author: z.ZodObject<{
551
+ login: z.ZodString;
552
+ email: z.ZodOptional<z.ZodString>;
553
+ }, z.core.$strip>;
554
+ isPullRequest: z.ZodLiteral<true>;
555
+ }, z.core.$strip>;
556
+ comment: z.ZodObject<{
557
+ id: z.ZodNumber;
558
+ body: z.ZodString;
559
+ author: z.ZodObject<{
560
+ login: z.ZodString;
561
+ email: z.ZodOptional<z.ZodString>;
562
+ }, z.core.$strip>;
563
+ url: z.ZodString;
564
+ createdAt: z.ZodString;
565
+ updatedAt: z.ZodString;
566
+ }, z.core.$strip>;
567
+ }, z.core.$strip>;
568
+ export type GithubPRCommentCreatedTrigger = z.infer<typeof GithubPRCommentCreatedTriggerSchema>;
524
569
  export declare const GithubPRTriggerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
525
570
  integrationType: z.ZodLiteral<IntegrationType.GITHUB>;
526
571
  username: z.ZodString;
@@ -1220,6 +1265,7 @@ export declare const TriggerTypeSchema: z.ZodUnion<readonly [z.ZodEnum<{
1220
1265
  readonly PR_MERGED: "pull_request.merged";
1221
1266
  readonly PR_CLOSED: "pull_request.closed";
1222
1267
  readonly PR_SYNCHRONIZE: "pull_request.synchronize";
1268
+ readonly PR_COMMENT_CREATED: "pull_request.comment.created";
1223
1269
  readonly ISSUE_COMMENT_CREATED: "issue_comment.created";
1224
1270
  }>, z.ZodEnum<{
1225
1271
  readonly ISSUE_CREATED: "issue.created";
@@ -1293,6 +1339,7 @@ export declare const baseTriggerSchema: z.ZodObject<{
1293
1339
  readonly PR_MERGED: "pull_request.merged";
1294
1340
  readonly PR_CLOSED: "pull_request.closed";
1295
1341
  readonly PR_SYNCHRONIZE: "pull_request.synchronize";
1342
+ readonly PR_COMMENT_CREATED: "pull_request.comment.created";
1296
1343
  readonly ISSUE_COMMENT_CREATED: "issue_comment.created";
1297
1344
  }>, z.ZodEnum<{
1298
1345
  readonly ISSUE_CREATED: "issue.created";
@@ -9297,6 +9344,7 @@ export declare const serializedEventSchema: z.ZodObject<{
9297
9344
  readonly PR_MERGED: "pull_request.merged";
9298
9345
  readonly PR_CLOSED: "pull_request.closed";
9299
9346
  readonly PR_SYNCHRONIZE: "pull_request.synchronize";
9347
+ readonly PR_COMMENT_CREATED: "pull_request.comment.created";
9300
9348
  readonly ISSUE_COMMENT_CREATED: "issue_comment.created";
9301
9349
  }>, z.ZodEnum<{
9302
9350
  readonly ISSUE_CREATED: "issue.created";
@@ -9359,6 +9407,7 @@ export declare const serializedEventSchema: z.ZodObject<{
9359
9407
  }>, z.ZodLiteral<"webhook">, z.ZodLiteral<"cron">, z.ZodLiteral<"webmonitor">, z.ZodLiteral<"manual_sample">]>;
9360
9408
  formattedContent: z.ZodString;
9361
9409
  debugLog: z.ZodString;
9410
+ triggeredAt: z.ZodDefault<z.ZodISODateTime>;
9362
9411
  display: z.ZodOptional<z.ZodObject<{
9363
9412
  title: z.ZodString;
9364
9413
  subtitle: z.ZodString;
@@ -11367,6 +11416,7 @@ export type SerializedEvent = z.infer<typeof serializedEventSchema>;
11367
11416
  export declare const eventFixtureOverridesSchema: z.ZodObject<{
11368
11417
  formattedContent: z.ZodOptional<z.ZodString>;
11369
11418
  debugLog: z.ZodOptional<z.ZodString>;
11419
+ triggeredAt: z.ZodOptional<z.ZodISODateTime>;
11370
11420
  }, z.core.$strip>;
11371
11421
  export declare const eventFixtureSchema: z.ZodIntersection<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
11372
11422
  integrationType: z.ZodLiteral<IntegrationType.SLACK>;
@@ -13369,6 +13419,7 @@ export declare const eventFixtureSchema: z.ZodIntersection<z.ZodUnion<readonly [
13369
13419
  }, z.core.$strip>]>, z.ZodObject<{
13370
13420
  formattedContent: z.ZodOptional<z.ZodString>;
13371
13421
  debugLog: z.ZodOptional<z.ZodString>;
13422
+ triggeredAt: z.ZodOptional<z.ZodISODateTime>;
13372
13423
  }, z.core.$strip>>;
13373
13424
  export type EventFixture = z.infer<typeof eventFixtureSchema>;
13374
13425
  export declare function hydrateSerializedEvent(fixture: EventFixture): SerializedEvent;
@@ -13726,6 +13777,50 @@ export declare const TriggerDefinitions: {
13726
13777
  updatedAt: z.ZodString;
13727
13778
  }, z.core.$strip>;
13728
13779
  }, z.core.$strip>>;
13780
+ GithubPRCommentCreatedTrigger: ConcreteTriggerDefinition<z.ZodObject<{
13781
+ integrationType: z.ZodLiteral<IntegrationType.GITHUB>;
13782
+ username: z.ZodString;
13783
+ installationId: z.ZodNumber;
13784
+ repositoryName: z.ZodString;
13785
+ repository: z.ZodObject<{
13786
+ id: z.ZodNumber;
13787
+ name: z.ZodString;
13788
+ owner: z.ZodString;
13789
+ defaultBranch: z.ZodString;
13790
+ }, z.core.$strip>;
13791
+ sender: z.ZodObject<{
13792
+ login: z.ZodString;
13793
+ email: z.ZodOptional<z.ZodString>;
13794
+ }, z.core.$strip>;
13795
+ eventType: z.ZodLiteral<"issue_comment.created">;
13796
+ issue: z.ZodObject<{
13797
+ id: z.ZodNumber;
13798
+ number: z.ZodNumber;
13799
+ title: z.ZodString;
13800
+ body: z.ZodOptional<z.ZodString>;
13801
+ state: z.ZodEnum<{
13802
+ open: "open";
13803
+ closed: "closed";
13804
+ }>;
13805
+ url: z.ZodString;
13806
+ author: z.ZodObject<{
13807
+ login: z.ZodString;
13808
+ email: z.ZodOptional<z.ZodString>;
13809
+ }, z.core.$strip>;
13810
+ isPullRequest: z.ZodLiteral<true>;
13811
+ }, z.core.$strip>;
13812
+ comment: z.ZodObject<{
13813
+ id: z.ZodNumber;
13814
+ body: z.ZodString;
13815
+ author: z.ZodObject<{
13816
+ login: z.ZodString;
13817
+ email: z.ZodOptional<z.ZodString>;
13818
+ }, z.core.$strip>;
13819
+ url: z.ZodString;
13820
+ createdAt: z.ZodString;
13821
+ updatedAt: z.ZodString;
13822
+ }, z.core.$strip>;
13823
+ }, z.core.$strip>>;
13729
13824
  GithubPRTrigger: import("./TriggerDefinition.js").UnionTriggerDefinition;
13730
13825
  GithubTrigger: import("./TriggerDefinition.js").UnionTriggerDefinition;
13731
13826
  GmailTrigger: ConcreteTriggerDefinition<z.ZodObject<{
package/dist/Triggers.js CHANGED
@@ -149,6 +149,12 @@ export const GithubIssueCommentCreatedTriggerSchema = GithubTriggerBaseSchema.ex
149
149
  issue: issueCommentTargetSchema,
150
150
  comment: issueCommentSchema
151
151
  });
152
+ const pullRequestCommentTargetSchema = issueCommentTargetSchema.extend({ isPullRequest: z.literal(true) });
153
+ export const GithubPRCommentCreatedTriggerSchema = GithubTriggerBaseSchema.extend({
154
+ eventType: z.literal(GitHubEventType.ISSUE_COMMENT_CREATED),
155
+ issue: pullRequestCommentTargetSchema,
156
+ comment: issueCommentSchema
157
+ });
152
158
  export const GithubPRTriggerSchema = z.discriminatedUnion("eventType", [GithubPROpenedTriggerSchema, GithubPRSynchronizedTriggerSchema, GithubPRClosedTriggerSchema, GithubPRMergedTriggerSchema]);
153
159
  export const GithubTriggerSchema = z.discriminatedUnion("eventType", [GithubPushTriggerSchema, GithubPRTriggerSchema, GithubIssueCommentCreatedTriggerSchema]);
154
160
  export const GmailParsedAttachmentSchema = z.object({
@@ -737,12 +743,14 @@ export const serializedEventSchema = z.object({
737
743
  eventType: TriggerTypeSchema,
738
744
  formattedContent: z.string(),
739
745
  debugLog: z.string(),
746
+ triggeredAt: z.iso.datetime({ offset: true }).default(() => new Date().toISOString()),
740
747
  display: serializedEventDisplaySchema.optional(),
741
748
  data: TriggerSchema
742
749
  });
743
750
  export const eventFixtureOverridesSchema = z.object({
744
751
  formattedContent: z.string().optional(),
745
- debugLog: z.string().optional()
752
+ debugLog: z.string().optional(),
753
+ triggeredAt: z.iso.datetime({ offset: true }).optional()
746
754
  });
747
755
  export const eventFixtureSchema = z.intersection(TriggerSchema, eventFixtureOverridesSchema);
748
756
  export function hydrateSerializedEvent(fixture) {
@@ -753,6 +761,7 @@ export function hydrateSerializedEvent(fixture) {
753
761
  eventType: trigger.eventType,
754
762
  formattedContent: fixture.formattedContent ?? formatTriggerForAgent(trigger),
755
763
  debugLog: fixture.debugLog ?? debugTrigger(trigger),
764
+ triggeredAt: fixture.triggeredAt ?? new Date().toISOString(),
756
765
  display: displayTrigger(trigger),
757
766
  data: trigger
758
767
  };
@@ -761,7 +770,8 @@ export function toEventFixture(event) {
761
770
  return {
762
771
  ...event.data,
763
772
  formattedContent: event.formattedContent,
764
- debugLog: event.debugLog
773
+ debugLog: event.debugLog,
774
+ triggeredAt: event.triggeredAt
765
775
  };
766
776
  }
767
777
  const slackPresenter = {
@@ -892,6 +902,12 @@ export const TriggerDefinitions = {
892
902
  eventTypes: [GitHubEventType.ISSUE_COMMENT_CREATED],
893
903
  presenter: githubPresenter
894
904
  }),
905
+ GithubPRCommentCreatedTrigger: defineTrigger({
906
+ integration: IntegrationType.GITHUB,
907
+ schema: GithubPRCommentCreatedTriggerSchema,
908
+ eventTypes: [GitHubEventType.PR_COMMENT_CREATED],
909
+ presenter: githubPresenter
910
+ }),
895
911
  GithubPRTrigger: defineTriggerUnion({
896
912
  integration: IntegrationType.GITHUB,
897
913
  members: ["GithubPROpenedTrigger", "GithubPRSynchronizedTrigger", "GithubPRClosedTrigger", "GithubPRMergedTrigger"]