@automate.ax/integration-contracts 0.76.0 → 0.77.0

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,197 @@
1
+ import { z } from "zod";
2
+ const RESOURCE_NAME_SCHEMA = z.string().trim().min(1);
3
+ const TIMESTAMP_SCHEMA = z.iso.datetime({ offset: true });
4
+ export const GOOGLE_MEET_SPACE_REFERENCE_SCHEMA = z.string().trim().min(1);
5
+ export const GOOGLE_MEET_CONFERENCE_RECORD_REFERENCE_SCHEMA = z
6
+ .string()
7
+ .trim()
8
+ .min(1);
9
+ export const GOOGLE_MEET_PARTICIPANT_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/participants\/[^/]+$/, "Expected a Google Meet participant resource name.");
10
+ export const GOOGLE_MEET_PARTICIPANT_SESSION_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/participants\/[^/]+\/participantSessions\/[^/]+$/, "Expected a Google Meet participant session resource name.");
11
+ export const GOOGLE_MEET_RECORDING_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/recordings\/[^/]+$/, "Expected a Google Meet recording resource name.");
12
+ export const GOOGLE_MEET_TRANSCRIPT_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/transcripts\/[^/]+$/, "Expected a Google Meet transcript resource name.");
13
+ export const GOOGLE_MEET_TRANSCRIPT_ENTRY_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/transcripts\/[^/]+\/entries\/[^/]+$/, "Expected a Google Meet transcript entry resource name.");
14
+ export const GOOGLE_MEET_SMART_NOTE_NAME_SCHEMA = RESOURCE_NAME_SCHEMA.regex(/^conferenceRecords\/[^/]+\/smartNotes\/[^/]+$/, "Expected a Google Meet smart note resource name.");
15
+ const RESTRICTION_SCHEMA = z.enum(["hostsOnly", "noRestriction"]);
16
+ export const GOOGLE_MEET_SPACE_CONFIG_SCHEMA = z.object({
17
+ /** Who can join without knocking. */
18
+ accessType: z.enum(["open", "trusted", "restricted"]).optional(),
19
+ /** Automatic artifact generation settings. */
20
+ artifacts: z
21
+ .object({
22
+ recording: z.boolean().optional(),
23
+ smartNotes: z.boolean().optional(),
24
+ transcription: z.boolean().optional(),
25
+ })
26
+ .optional(),
27
+ /** Whether Google generates an attendance report. */
28
+ attendanceReport: z.boolean().optional(),
29
+ /** Entry points allowed to join the space. */
30
+ entryPointAccess: z.enum(["all", "creatorAppOnly"]).optional(),
31
+ /** Whether host management is enabled. */
32
+ moderation: z.boolean().optional(),
33
+ /** Feature permissions applied while moderation is enabled. */
34
+ moderationRestrictions: z
35
+ .object({
36
+ chat: RESTRICTION_SCHEMA.optional(),
37
+ defaultJoinAsViewer: z.boolean().optional(),
38
+ present: RESTRICTION_SCHEMA.optional(),
39
+ reactions: RESTRICTION_SCHEMA.optional(),
40
+ })
41
+ .optional(),
42
+ });
43
+ export const GOOGLE_MEET_SPACE_SCHEMA = z.object({
44
+ /** Active conference record resource name, when a call is running. */
45
+ activeConference: RESOURCE_NAME_SCHEMA.optional(),
46
+ /** Resolved meeting-space configuration. */
47
+ config: GOOGLE_MEET_SPACE_CONFIG_SCHEMA.optional(),
48
+ /** SIP gateway entry points. */
49
+ gatewaySipAccess: z
50
+ .object({
51
+ sipAccessCode: z.string().optional(),
52
+ uri: z.string(),
53
+ })
54
+ .array(),
55
+ /** Typeable meeting code. */
56
+ meetingCode: z.string(),
57
+ /** Browser join URL. */
58
+ meetingUri: z.url(),
59
+ /** Stable space resource name. */
60
+ name: RESOURCE_NAME_SCHEMA,
61
+ /** Regional dial-in entry points. */
62
+ phoneAccess: z
63
+ .object({
64
+ languageCode: z.string().optional(),
65
+ phoneNumber: z.string(),
66
+ pin: z.string(),
67
+ regionCode: z.string().optional(),
68
+ })
69
+ .array(),
70
+ });
71
+ export const GOOGLE_MEET_CONFERENCE_RECORD_SCHEMA = z.object({
72
+ /** When the conference ended. Omitted while it is active. */
73
+ endTime: TIMESTAMP_SCHEMA.optional(),
74
+ /** When Google will delete this record. */
75
+ expireTime: TIMESTAMP_SCHEMA.optional(),
76
+ /** Stable conference-record resource name. */
77
+ name: RESOURCE_NAME_SCHEMA,
78
+ /** Space resource name where the conference occurred. */
79
+ space: RESOURCE_NAME_SCHEMA,
80
+ /** When the conference started. */
81
+ startTime: TIMESTAMP_SCHEMA,
82
+ });
83
+ export const GOOGLE_MEET_CONFERENCE_RECORD_PAGE_SCHEMA = z.object({
84
+ conferenceRecords: GOOGLE_MEET_CONFERENCE_RECORD_SCHEMA.array(),
85
+ nextPageToken: z.string().optional(),
86
+ });
87
+ export const GOOGLE_MEET_PARTICIPANT_SCHEMA = z.object({
88
+ /** First observed join time. */
89
+ earliestStartTime: TIMESTAMP_SCHEMA.optional(),
90
+ /** Last observed leave time. Omitted while the participant is active. */
91
+ latestEndTime: TIMESTAMP_SCHEMA.optional(),
92
+ /** Stable participant resource name. */
93
+ name: GOOGLE_MEET_PARTICIPANT_NAME_SCHEMA,
94
+ /** Participant identity reported by Meet. */
95
+ user: z.discriminatedUnion("type", [
96
+ z.object({ displayName: z.string(), type: z.literal("anonymous") }),
97
+ z.object({ displayName: z.string(), type: z.literal("phone") }),
98
+ z.object({
99
+ displayName: z.string(),
100
+ type: z.literal("signedIn"),
101
+ user: z.string().optional(),
102
+ }),
103
+ ]),
104
+ });
105
+ export const GOOGLE_MEET_PARTICIPANT_PAGE_SCHEMA = z.object({
106
+ nextPageToken: z.string().optional(),
107
+ participants: GOOGLE_MEET_PARTICIPANT_SCHEMA.array(),
108
+ totalSize: z.number().int().nonnegative().optional(),
109
+ });
110
+ export const GOOGLE_MEET_PARTICIPANT_SESSION_SCHEMA = z.object({
111
+ /** When the session ended. Omitted while it is active. */
112
+ endTime: TIMESTAMP_SCHEMA.optional(),
113
+ /** Stable participant-session resource name. */
114
+ name: GOOGLE_MEET_PARTICIPANT_SESSION_NAME_SCHEMA,
115
+ /** When the session started. */
116
+ startTime: TIMESTAMP_SCHEMA,
117
+ });
118
+ export const GOOGLE_MEET_PARTICIPANT_SESSION_PAGE_SCHEMA = z.object({
119
+ nextPageToken: z.string().optional(),
120
+ participantSessions: GOOGLE_MEET_PARTICIPANT_SESSION_SCHEMA.array(),
121
+ });
122
+ const ARTIFACT_STATE_SCHEMA = z.enum(["started", "ended", "fileGenerated"]);
123
+ const DOCS_DESTINATION_SCHEMA = z.object({
124
+ documentId: z.string().optional(),
125
+ exportUri: z.url().optional(),
126
+ });
127
+ export const GOOGLE_MEET_RECORDING_SCHEMA = z.object({
128
+ /** Google Drive destination after file generation completes. */
129
+ driveDestination: z
130
+ .object({
131
+ exportUri: z.url().optional(),
132
+ fileId: z.string().optional(),
133
+ })
134
+ .optional(),
135
+ /** When recording stopped. */
136
+ endTime: TIMESTAMP_SCHEMA.optional(),
137
+ /** Stable recording resource name. */
138
+ name: GOOGLE_MEET_RECORDING_NAME_SCHEMA,
139
+ /** When recording started. */
140
+ startTime: TIMESTAMP_SCHEMA.optional(),
141
+ /** Recording generation state. */
142
+ state: ARTIFACT_STATE_SCHEMA,
143
+ });
144
+ export const GOOGLE_MEET_RECORDING_PAGE_SCHEMA = z.object({
145
+ nextPageToken: z.string().optional(),
146
+ recordings: GOOGLE_MEET_RECORDING_SCHEMA.array(),
147
+ });
148
+ export const GOOGLE_MEET_TRANSCRIPT_SCHEMA = z.object({
149
+ /** Google Docs destination after file generation completes. */
150
+ docsDestination: DOCS_DESTINATION_SCHEMA.optional(),
151
+ /** When transcription stopped. */
152
+ endTime: TIMESTAMP_SCHEMA.optional(),
153
+ /** Stable transcript resource name. */
154
+ name: GOOGLE_MEET_TRANSCRIPT_NAME_SCHEMA,
155
+ /** When transcription started. */
156
+ startTime: TIMESTAMP_SCHEMA.optional(),
157
+ /** Transcript generation state. */
158
+ state: ARTIFACT_STATE_SCHEMA,
159
+ });
160
+ export const GOOGLE_MEET_TRANSCRIPT_PAGE_SCHEMA = z.object({
161
+ nextPageToken: z.string().optional(),
162
+ transcripts: GOOGLE_MEET_TRANSCRIPT_SCHEMA.array(),
163
+ });
164
+ export const GOOGLE_MEET_TRANSCRIPT_ENTRY_SCHEMA = z.object({
165
+ /** When this spoken segment ended. */
166
+ endTime: TIMESTAMP_SCHEMA,
167
+ /** BCP 47 language code detected for the segment. */
168
+ languageCode: z.string(),
169
+ /** Stable transcript-entry resource name. */
170
+ name: GOOGLE_MEET_TRANSCRIPT_ENTRY_NAME_SCHEMA,
171
+ /** Participant resource name for the speaker. */
172
+ participant: GOOGLE_MEET_PARTICIPANT_NAME_SCHEMA,
173
+ /** When this spoken segment started. */
174
+ startTime: TIMESTAMP_SCHEMA,
175
+ /** Transcribed speech. */
176
+ text: z.string(),
177
+ });
178
+ export const GOOGLE_MEET_TRANSCRIPT_ENTRY_PAGE_SCHEMA = z.object({
179
+ nextPageToken: z.string().optional(),
180
+ transcriptEntries: GOOGLE_MEET_TRANSCRIPT_ENTRY_SCHEMA.array(),
181
+ });
182
+ export const GOOGLE_MEET_SMART_NOTE_SCHEMA = z.object({
183
+ /** Google Docs destination after file generation completes. */
184
+ docsDestination: DOCS_DESTINATION_SCHEMA.optional(),
185
+ /** When smart-note capture stopped. */
186
+ endTime: TIMESTAMP_SCHEMA.optional(),
187
+ /** Stable smart-note resource name. */
188
+ name: GOOGLE_MEET_SMART_NOTE_NAME_SCHEMA,
189
+ /** When smart-note capture started. */
190
+ startTime: TIMESTAMP_SCHEMA.optional(),
191
+ /** Smart-note generation state. */
192
+ state: ARTIFACT_STATE_SCHEMA,
193
+ });
194
+ export const GOOGLE_MEET_SMART_NOTE_PAGE_SCHEMA = z.object({
195
+ nextPageToken: z.string().optional(),
196
+ smartNotes: GOOGLE_MEET_SMART_NOTE_SCHEMA.array(),
197
+ });
@@ -1340,6 +1340,7 @@ export declare const LINEAR_USER_SCHEMA: z.ZodObject<{
1340
1340
  guest: z.ZodBoolean;
1341
1341
  isMe: z.ZodBoolean;
1342
1342
  owner: z.ZodBoolean;
1343
+ supportsAgentSessions: z.ZodBoolean;
1343
1344
  timezone: z.ZodNullable<z.ZodString>;
1344
1345
  updatedAt: z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>;
1345
1346
  url: z.ZodString;
@@ -1417,6 +1418,79 @@ export declare const LINEAR_ISSUE_REFERENCE_SCHEMA: z.ZodObject<{
1417
1418
  title: z.ZodString;
1418
1419
  url: z.ZodString;
1419
1420
  }, z.core.$strip>;
1421
+ /** Lifecycle states returned for Linear agent sessions. */
1422
+ export declare const LINEAR_AGENT_SESSION_STATUS_SCHEMA: z.ZodEnum<{
1423
+ error: "error";
1424
+ pending: "pending";
1425
+ stale: "stale";
1426
+ active: "active";
1427
+ awaitingInput: "awaitingInput";
1428
+ complete: "complete";
1429
+ }>;
1430
+ /** Lifecycle states returned for one Linear agent-session plan step. */
1431
+ export declare const LINEAR_AGENT_SESSION_PLAN_ITEM_STATUS_SCHEMA: z.ZodEnum<{
1432
+ completed: "completed";
1433
+ pending: "pending";
1434
+ inProgress: "inProgress";
1435
+ canceled: "canceled";
1436
+ }>;
1437
+ /** One step in a Linear agent session's execution plan. */
1438
+ export declare const LINEAR_AGENT_SESSION_PLAN_ITEM_SCHEMA: z.ZodObject<{
1439
+ content: z.ZodString;
1440
+ status: z.ZodEnum<{
1441
+ completed: "completed";
1442
+ pending: "pending";
1443
+ inProgress: "inProgress";
1444
+ canceled: "canceled";
1445
+ }>;
1446
+ }, z.core.$strip>;
1447
+ /** One coding or other agent session attached to a Linear issue. */
1448
+ export declare const LINEAR_AGENT_SESSION_SCHEMA: z.ZodObject<{
1449
+ appUser: z.ZodObject<{
1450
+ active: z.ZodBoolean;
1451
+ avatarUrl: z.ZodNullable<z.ZodString>;
1452
+ displayName: z.ZodString;
1453
+ email: z.ZodString;
1454
+ id: z.ZodString;
1455
+ name: z.ZodString;
1456
+ }, z.core.$strip>;
1457
+ createdAt: z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>;
1458
+ dismissedAt: z.ZodNullable<z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>>;
1459
+ endedAt: z.ZodNullable<z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>>;
1460
+ externalLinks: z.ZodArray<z.ZodObject<{
1461
+ label: z.ZodString;
1462
+ url: z.ZodString;
1463
+ }, z.core.$strip>>;
1464
+ id: z.ZodString;
1465
+ issue: z.ZodNullable<z.ZodObject<{
1466
+ id: z.ZodString;
1467
+ identifier: z.ZodString;
1468
+ title: z.ZodString;
1469
+ url: z.ZodString;
1470
+ }, z.core.$strip>>;
1471
+ plan: z.ZodNullable<z.ZodArray<z.ZodObject<{
1472
+ content: z.ZodString;
1473
+ status: z.ZodEnum<{
1474
+ completed: "completed";
1475
+ pending: "pending";
1476
+ inProgress: "inProgress";
1477
+ canceled: "canceled";
1478
+ }>;
1479
+ }, z.core.$strip>>>;
1480
+ slugId: z.ZodString;
1481
+ startedAt: z.ZodNullable<z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>>;
1482
+ status: z.ZodEnum<{
1483
+ error: "error";
1484
+ pending: "pending";
1485
+ stale: "stale";
1486
+ active: "active";
1487
+ awaitingInput: "awaitingInput";
1488
+ complete: "complete";
1489
+ }>;
1490
+ summary: z.ZodNullable<z.ZodString>;
1491
+ updatedAt: z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>;
1492
+ url: z.ZodNullable<z.ZodString>;
1493
+ }, z.core.$strip>;
1420
1494
  export declare const LINEAR_PROJECT_STATUS_SCHEMA: z.ZodObject<{
1421
1495
  color: z.ZodString;
1422
1496
  description: z.ZodNullable<z.ZodString>;
@@ -1509,6 +1583,14 @@ export declare const LINEAR_ISSUE_SCHEMA: z.ZodObject<{
1509
1583
  name: z.ZodString;
1510
1584
  }, z.core.$strip>>;
1511
1585
  description: z.ZodNullable<z.ZodString>;
1586
+ delegate: z.ZodNullable<z.ZodObject<{
1587
+ active: z.ZodBoolean;
1588
+ avatarUrl: z.ZodNullable<z.ZodString>;
1589
+ displayName: z.ZodString;
1590
+ email: z.ZodString;
1591
+ id: z.ZodString;
1592
+ name: z.ZodString;
1593
+ }, z.core.$strip>>;
1512
1594
  dueDate: z.ZodNullable<z.ZodISODate>;
1513
1595
  estimate: z.ZodNullable<z.ZodNumber>;
1514
1596
  id: z.ZodString;
@@ -1753,6 +1835,14 @@ export declare const LINEAR_PROVIDER_ISSUE_SCHEMA: z.ZodObject<{
1753
1835
  startedAt: z.ZodNullable<z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodISODateTime, z.ZodTransform<Date, string>>]>>;
1754
1836
  trashed: z.ZodNullable<z.ZodBoolean>;
1755
1837
  branchName: z.ZodString;
1838
+ delegate: z.ZodNullable<z.ZodObject<{
1839
+ active: z.ZodBoolean;
1840
+ avatarUrl: z.ZodNullable<z.ZodString>;
1841
+ displayName: z.ZodString;
1842
+ email: z.ZodString;
1843
+ id: z.ZodString;
1844
+ name: z.ZodString;
1845
+ }, z.core.$strip>>;
1756
1846
  labels: z.ZodObject<{
1757
1847
  nodes: z.ZodArray<z.ZodObject<{
1758
1848
  color: z.ZodString;
@@ -402,6 +402,8 @@ export const LINEAR_USER_SCHEMA = LINEAR_USER_REFERENCE_SCHEMA.extend({
402
402
  isMe: z.boolean(),
403
403
  /** Whether this user owns the workspace. */
404
404
  owner: z.boolean(),
405
+ /** Whether this app user can run Linear agent sessions. */
406
+ supportsAgentSessions: z.boolean(),
405
407
  /** IANA time zone configured for the user. */
406
408
  timezone: z.string().nullable(),
407
409
  /** When the user was last updated. */
@@ -509,6 +511,65 @@ export const LINEAR_ISSUE_REFERENCE_SCHEMA = z.object({
509
511
  /** Linear issue URL. */
510
512
  url: z.string(),
511
513
  });
514
+ /** Lifecycle states returned for Linear agent sessions. */
515
+ export const LINEAR_AGENT_SESSION_STATUS_SCHEMA = z.enum([
516
+ "pending",
517
+ "active",
518
+ "awaitingInput",
519
+ "complete",
520
+ "error",
521
+ "stale",
522
+ ]);
523
+ /** Lifecycle states returned for one Linear agent-session plan step. */
524
+ export const LINEAR_AGENT_SESSION_PLAN_ITEM_STATUS_SCHEMA = z.enum([
525
+ "pending",
526
+ "inProgress",
527
+ "completed",
528
+ "canceled",
529
+ ]);
530
+ /** One step in a Linear agent session's execution plan. */
531
+ export const LINEAR_AGENT_SESSION_PLAN_ITEM_SCHEMA = z.object({
532
+ /** Human-readable work planned for this step. */
533
+ content: z.string(),
534
+ /** Current lifecycle state of the plan step. */
535
+ status: LINEAR_AGENT_SESSION_PLAN_ITEM_STATUS_SCHEMA,
536
+ });
537
+ /** One coding or other agent session attached to a Linear issue. */
538
+ export const LINEAR_AGENT_SESSION_SCHEMA = z.object({
539
+ /** Agent app user running the session. */
540
+ appUser: LINEAR_USER_REFERENCE_SCHEMA,
541
+ /** When the session was created. */
542
+ createdAt: LINEAR_DATE_TIME_SCHEMA,
543
+ /** When the session was dismissed, or `null` while retained. */
544
+ dismissedAt: LINEAR_DATE_TIME_SCHEMA.nullable(),
545
+ /** When the session finished, or `null` while unfinished. */
546
+ endedAt: LINEAR_DATE_TIME_SCHEMA.nullable(),
547
+ /** External resources attached to the session. */
548
+ externalLinks: z
549
+ .object({
550
+ label: z.string(),
551
+ url: z.string(),
552
+ })
553
+ .array(),
554
+ /** Stable Linear agent-session ID. */
555
+ id: z.string(),
556
+ /** Issue whose context started the session. */
557
+ issue: LINEAR_ISSUE_REFERENCE_SCHEMA.nullable(),
558
+ /** Ordered execution plan reported by the agent, or `null` before one is set. */
559
+ plan: LINEAR_AGENT_SESSION_PLAN_ITEM_SCHEMA.array().nullable(),
560
+ /** URL-safe Linear session identifier. */
561
+ slugId: z.string(),
562
+ /** When the agent began work, or `null` while pending. */
563
+ startedAt: LINEAR_DATE_TIME_SCHEMA.nullable(),
564
+ /** Current session lifecycle state. */
565
+ status: LINEAR_AGENT_SESSION_STATUS_SCHEMA,
566
+ /** Human-readable result summary, when available. */
567
+ summary: z.string().nullable(),
568
+ /** When the session was last updated. */
569
+ updatedAt: LINEAR_DATE_TIME_SCHEMA,
570
+ /** Linear page for the session, when available. */
571
+ url: z.string().nullable(),
572
+ });
512
573
  export const LINEAR_PROJECT_STATUS_SCHEMA = z.object({
513
574
  /** Project status display color. */
514
575
  color: z.string(),
@@ -596,6 +657,8 @@ export const LINEAR_ISSUE_SCHEMA = z.object({
596
657
  creator: LINEAR_USER_REFERENCE_SCHEMA.nullable(),
597
658
  /** Markdown issue description. */
598
659
  description: z.string().nullable(),
660
+ /** Agent currently delegated to work on the issue. */
661
+ delegate: LINEAR_USER_REFERENCE_SCHEMA.nullable(),
599
662
  /** Issue due date. */
600
663
  dueDate: z.iso.date().nullable(),
601
664
  /** Issue estimate on the team's configured scale. */
@@ -31,8 +31,8 @@ export declare const outlookTriggerContracts: {
31
31
  timeZone: string;
32
32
  } | null | undefined>>;
33
33
  status: z.ZodEnum<{
34
- notFlagged: "notFlagged";
35
34
  complete: "complete";
35
+ notFlagged: "notFlagged";
36
36
  flagged: "flagged";
37
37
  }>;
38
38
  }, z.core.$strip>>;
@@ -9,8 +9,8 @@ export declare const OUTLOOK_IMPORTANCE_SCHEMA: z.ZodEnum<{
9
9
  low: "low";
10
10
  }>;
11
11
  export declare const OUTLOOK_FLAG_STATUS_SCHEMA: z.ZodEnum<{
12
- notFlagged: "notFlagged";
13
12
  complete: "complete";
13
+ notFlagged: "notFlagged";
14
14
  flagged: "flagged";
15
15
  }>;
16
16
  export declare const OUTLOOK_EMAIL_ADDRESS_SCHEMA: z.ZodObject<{
@@ -64,8 +64,8 @@ export declare const OUTLOOK_MESSAGE_SCHEMA: z.ZodObject<{
64
64
  timeZone: string;
65
65
  } | null | undefined>>;
66
66
  status: z.ZodEnum<{
67
- notFlagged: "notFlagged";
68
67
  complete: "complete";
68
+ notFlagged: "notFlagged";
69
69
  flagged: "flagged";
70
70
  }>;
71
71
  }, z.core.$strip>>;
@@ -182,8 +182,8 @@ export declare const GRAPH_MESSAGE_SCHEMA: z.ZodPipe<z.ZodObject<{
182
182
  timeZone: z.ZodString;
183
183
  }, z.core.$strip>>>;
184
184
  flagStatus: z.ZodEnum<{
185
- notFlagged: "notFlagged";
186
185
  complete: "complete";
186
+ notFlagged: "notFlagged";
187
187
  flagged: "flagged";
188
188
  }>;
189
189
  }, z.core.$strip>>;
@@ -286,7 +286,7 @@ export declare const GRAPH_MESSAGE_SCHEMA: z.ZodPipe<z.ZodObject<{
286
286
  dateTime: string;
287
287
  timeZone: string;
288
288
  } | undefined;
289
- status: "notFlagged" | "complete" | "flagged";
289
+ status: "complete" | "notFlagged" | "flagged";
290
290
  } | undefined;
291
291
  etag?: string | undefined;
292
292
  }, {
@@ -314,7 +314,7 @@ export declare const GRAPH_MESSAGE_SCHEMA: z.ZodPipe<z.ZodObject<{
314
314
  conversationId?: string | null | undefined;
315
315
  createdDateTime?: string | null | undefined;
316
316
  flag?: {
317
- flagStatus: "notFlagged" | "complete" | "flagged";
317
+ flagStatus: "complete" | "notFlagged" | "flagged";
318
318
  completedDateTime?: {
319
319
  dateTime: string;
320
320
  timeZone: string;
@@ -421,7 +421,7 @@ export declare function normalizeOutlookMessage(payload: unknown): {
421
421
  dateTime: string;
422
422
  timeZone: string;
423
423
  } | undefined;
424
- status: "notFlagged" | "complete" | "flagged";
424
+ status: "complete" | "notFlagged" | "flagged";
425
425
  } | undefined;
426
426
  etag?: string | undefined;
427
427
  };
@@ -5,6 +5,7 @@ import { githubTriggerContracts } from "./github/index.js";
5
5
  import { gmailTriggerContracts } from "./gmail/index.js";
6
6
  import { googleCalendarTriggerContracts } from "./google-calendar/index.js";
7
7
  import { googleFormsTriggerContracts } from "./google-forms/index.js";
8
+ import { googleMeetTriggerContracts } from "./google-meet/index.js";
8
9
  import { linearTriggerContracts } from "./linear/index.js";
9
10
  import { outlookTriggerContracts } from "./outlook/index.js";
10
11
  import { resendTriggerContracts } from "./resend/index.js";
@@ -14,7 +15,7 @@ import { trelloTriggerContracts } from "./trello/index.js";
14
15
  import { vercelTriggerContracts } from "./vercel/index.js";
15
16
  import { whatsappTriggerContracts } from "./whatsapp/index.js";
16
17
  import type { z } from "zod";
17
- type IntegrationTriggerContracts = typeof airtableTriggerContracts & typeof asanaTriggerContracts & typeof brevoTriggerContracts & typeof githubTriggerContracts & typeof gmailTriggerContracts & typeof googleCalendarTriggerContracts & typeof googleFormsTriggerContracts & typeof linearTriggerContracts & typeof outlookTriggerContracts & typeof resendTriggerContracts & typeof slackTriggerContracts & typeof teamsTriggerContracts & typeof trelloTriggerContracts & typeof vercelTriggerContracts & typeof whatsappTriggerContracts;
18
+ type IntegrationTriggerContracts = typeof airtableTriggerContracts & typeof asanaTriggerContracts & typeof brevoTriggerContracts & typeof githubTriggerContracts & typeof gmailTriggerContracts & typeof googleCalendarTriggerContracts & typeof googleFormsTriggerContracts & typeof googleMeetTriggerContracts & typeof linearTriggerContracts & typeof outlookTriggerContracts & typeof resendTriggerContracts & typeof slackTriggerContracts & typeof teamsTriggerContracts & typeof trelloTriggerContracts & typeof vercelTriggerContracts & typeof whatsappTriggerContracts;
18
19
  /** Shared schemas for every integration-backed public trigger. */
19
20
  export declare const triggerContracts: IntegrationTriggerContracts;
20
21
  export type TriggerContractMap = IntegrationTriggerContracts;
package/dist/triggers.js CHANGED
@@ -5,6 +5,7 @@ import { githubTriggerContracts } from "./github/index.js";
5
5
  import { gmailTriggerContracts } from "./gmail/index.js";
6
6
  import { googleCalendarTriggerContracts } from "./google-calendar/index.js";
7
7
  import { googleFormsTriggerContracts } from "./google-forms/index.js";
8
+ import { googleMeetTriggerContracts } from "./google-meet/index.js";
8
9
  import { linearTriggerContracts } from "./linear/index.js";
9
10
  import { outlookTriggerContracts } from "./outlook/index.js";
10
11
  import { resendTriggerContracts } from "./resend/index.js";
@@ -22,6 +23,7 @@ export const triggerContracts = {
22
23
  ...gmailTriggerContracts,
23
24
  ...googleCalendarTriggerContracts,
24
25
  ...googleFormsTriggerContracts,
26
+ ...googleMeetTriggerContracts,
25
27
  ...linearTriggerContracts,
26
28
  ...outlookTriggerContracts,
27
29
  ...resendTriggerContracts,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/integration-contracts",
3
- "version": "0.76.0",
3
+ "version": "0.77.0",
4
4
  "description": "Shared integration payload contracts and provider primitives for Automate.ax.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -24,6 +24,7 @@
24
24
  "./gmail": "./src/gmail/index.ts",
25
25
  "./google-calendar": "./src/google-calendar/index.ts",
26
26
  "./google-forms": "./src/google-forms/index.ts",
27
+ "./google-meet": "./src/google-meet/index.ts",
27
28
  "./github": "./src/github/index.ts",
28
29
  "./linear": "./src/linear/index.ts",
29
30
  "./outlook": "./src/outlook/index.ts",
@@ -41,10 +42,11 @@
41
42
  }
42
43
  },
43
44
  "dependencies": {
44
- "@automate.ax/codec": "0.76.0",
45
+ "@automate.ax/codec": "0.77.0",
45
46
  "@googleapis/calendar": "^15.0.0",
46
47
  "@googleapis/forms": "^6.0.1",
47
48
  "@googleapis/gmail": "^12.0.0",
49
+ "@googleapis/meet": "^5.0.0",
48
50
  "@octokit/openapi-webhooks-types": "^12.1.0",
49
51
  "@octokit/rest": "^22.0.1",
50
52
  "html-to-text": "^10.0.0",
@@ -114,6 +116,11 @@
114
116
  "types": "./dist/google-forms/index.d.ts",
115
117
  "default": "./dist/google-forms/index.js"
116
118
  },
119
+ "./google-meet": {
120
+ "bun": "./src/google-meet/index.ts",
121
+ "types": "./dist/google-meet/index.d.ts",
122
+ "default": "./dist/google-meet/index.js"
123
+ },
117
124
  "./github": {
118
125
  "bun": "./src/github/index.ts",
119
126
  "types": "./dist/github/index.d.ts",
@@ -10,6 +10,7 @@ import * as z from "zod"
10
10
  import {
11
11
  ATTACHMENT_INPUT_SCHEMA,
12
12
  DRAFT_IDENTIFIER_SCHEMA,
13
+ LABEL_COLOR_SCHEMA,
13
14
  LABEL_SCHEMA,
14
15
  MAILBOX_SCHEMA,
15
16
  MESSAGE_METADATA_SCHEMA,
@@ -483,10 +484,10 @@ export function toGmailLabel(
483
484
  return {
484
485
  ...(label.color?.backgroundColor &&
485
486
  label.color.textColor && {
486
- color: {
487
+ color: LABEL_COLOR_SCHEMA.parse({
487
488
  backgroundColor: label.color.backgroundColor,
488
489
  textColor: label.color.textColor,
489
- },
490
+ }),
490
491
  }),
491
492
  labelId: label.id,
492
493
  labelListVisibility: label.labelListVisibility
@@ -9,13 +9,117 @@ export const LABEL_LIST_VISIBILITY_SCHEMA = z.enum([
9
9
  ])
10
10
  export const MESSAGE_LIST_VISIBILITY_SCHEMA = z.enum(["hide", "show"])
11
11
  const LABEL_TYPE_SCHEMA = z.enum(["system", "user"])
12
+ const LABEL_COLOR_VALUE_SCHEMA = z.enum([
13
+ "#000000",
14
+ "#434343",
15
+ "#666666",
16
+ "#999999",
17
+ "#cccccc",
18
+ "#efefef",
19
+ "#f3f3f3",
20
+ "#ffffff",
21
+ "#fb4c2f",
22
+ "#ffad47",
23
+ "#fad165",
24
+ "#16a766",
25
+ "#43d692",
26
+ "#4a86e8",
27
+ "#a479e2",
28
+ "#f691b3",
29
+ "#f6c5be",
30
+ "#ffe6c7",
31
+ "#fef1d1",
32
+ "#b9e4d0",
33
+ "#c6f3de",
34
+ "#c9daf8",
35
+ "#e4d7f5",
36
+ "#fcdee8",
37
+ "#efa093",
38
+ "#ffd6a2",
39
+ "#fce8b3",
40
+ "#89d3b2",
41
+ "#a0eac9",
42
+ "#a4c2f4",
43
+ "#d0bcf1",
44
+ "#fbc8d9",
45
+ "#e66550",
46
+ "#ffbc6b",
47
+ "#fcda83",
48
+ "#44b984",
49
+ "#68dfa9",
50
+ "#6d9eeb",
51
+ "#b694e8",
52
+ "#f7a7c0",
53
+ "#cc3a21",
54
+ "#eaa041",
55
+ "#f2c960",
56
+ "#149e60",
57
+ "#3dc789",
58
+ "#3c78d8",
59
+ "#8e63ce",
60
+ "#e07798",
61
+ "#ac2b16",
62
+ "#cf8933",
63
+ "#d5ae49",
64
+ "#0b804b",
65
+ "#2a9c68",
66
+ "#285bac",
67
+ "#653e9b",
68
+ "#b65775",
69
+ "#822111",
70
+ "#a46a21",
71
+ "#aa8831",
72
+ "#076239",
73
+ "#1a764d",
74
+ "#1c4587",
75
+ "#41236d",
76
+ "#83334c",
77
+ "#464646",
78
+ "#e7e7e7",
79
+ "#0d3472",
80
+ "#b6cff5",
81
+ "#0d3b44",
82
+ "#98d7e4",
83
+ "#3d188e",
84
+ "#e3d7ff",
85
+ "#711a36",
86
+ "#fbd3e0",
87
+ "#8a1c0a",
88
+ "#f2b2a8",
89
+ "#7a2e0b",
90
+ "#ffc8af",
91
+ "#7a4706",
92
+ "#ffdeb5",
93
+ "#594c05",
94
+ "#fbe983",
95
+ "#684e07",
96
+ "#fdedc1",
97
+ "#0b4f30",
98
+ "#b3efd3",
99
+ "#04502e",
100
+ "#a2dcc1",
101
+ "#c2c2c2",
102
+ "#4986e7",
103
+ "#2da2bb",
104
+ "#b99aff",
105
+ "#994a64",
106
+ "#f691b2",
107
+ "#ff7537",
108
+ "#ffad46",
109
+ "#662e37",
110
+ "#ebdbde",
111
+ "#cca6ac",
112
+ "#094228",
113
+ "#42d692",
114
+ "#16a765",
115
+ ])
12
116
  export const HEADERS_SCHEMA = z.record(z.string(), z.string())
13
117
  export const LABEL_COLOR_SCHEMA = z.object({
14
118
  /** Hex background color selected from Gmail's supported palette. */
15
- backgroundColor: z.string().min(1),
119
+ backgroundColor: LABEL_COLOR_VALUE_SCHEMA,
16
120
 
17
121
  /** Hex text color selected from Gmail's supported palette. */
18
- textColor: z.string().min(1),
122
+ textColor: LABEL_COLOR_VALUE_SCHEMA,
19
123
  })
20
124
  export const MAILBOX_SCHEMA = z.object({
21
125
  /** RFC 5322 email address. */