@automate.ax/integration-contracts 0.89.2 → 0.91.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,308 @@
1
+ import * as z from "zod";
2
+ import { JOB_NIMBUS_VALUE_SCHEMA } from "./api.js";
3
+ export const JOB_NIMBUS_ID_SCHEMA = z.string().trim().min(1);
4
+ const NULLABLE_STRING_SCHEMA = z.string().nullable().optional();
5
+ const NULLABLE_NUMBER_SCHEMA = z.number().nullable().optional();
6
+ const DATE_SCHEMA = z.date().nullable().optional();
7
+ export const JOB_NIMBUS_CUSTOM_FIELDS_SCHEMA = z.record(z.string().min(1), z.union([z.boolean(), z.number(), z.string(), z.null()]));
8
+ export const JOB_NIMBUS_REFERENCE_SCHEMA = z
9
+ .object({
10
+ id: JOB_NIMBUS_ID_SCHEMA,
11
+ name: NULLABLE_STRING_SCHEMA,
12
+ number: NULLABLE_STRING_SCHEMA,
13
+ type: NULLABLE_STRING_SCHEMA,
14
+ })
15
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
16
+ export const JOB_NIMBUS_OWNER_SCHEMA = z
17
+ .object({
18
+ id: JOB_NIMBUS_ID_SCHEMA,
19
+ })
20
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
21
+ export const JOB_NIMBUS_LOCATION_SCHEMA = z
22
+ .object({
23
+ id: z.number(),
24
+ name: NULLABLE_STRING_SCHEMA,
25
+ parentId: z.number().nullable().optional(),
26
+ })
27
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
28
+ export const JOB_NIMBUS_GEO_SCHEMA = z.object({
29
+ lat: z.number(),
30
+ lon: z.number(),
31
+ });
32
+ const CRM_BASE_FIELDS = {
33
+ dateCreated: DATE_SCHEMA,
34
+ createdBy: NULLABLE_STRING_SCHEMA,
35
+ createdByName: NULLABLE_STRING_SCHEMA,
36
+ customer: NULLABLE_STRING_SCHEMA,
37
+ customFields: JOB_NIMBUS_CUSTOM_FIELDS_SCHEMA.optional(),
38
+ id: JOB_NIMBUS_ID_SCHEMA,
39
+ isActive: z.boolean().optional(),
40
+ isArchived: z.boolean().optional(),
41
+ location: JOB_NIMBUS_LOCATION_SCHEMA.nullable().optional(),
42
+ owners: JOB_NIMBUS_OWNER_SCHEMA.array().optional(),
43
+ recordId: z.number().optional(),
44
+ recordType: NULLABLE_NUMBER_SCHEMA,
45
+ recordTypeName: NULLABLE_STRING_SCHEMA,
46
+ related: JOB_NIMBUS_REFERENCE_SCHEMA.array().optional(),
47
+ tags: z.string().array().optional(),
48
+ type: NULLABLE_STRING_SCHEMA,
49
+ dateUpdated: DATE_SCHEMA,
50
+ };
51
+ const ADDRESS_FIELDS = {
52
+ addressLine1: NULLABLE_STRING_SCHEMA,
53
+ addressLine2: NULLABLE_STRING_SCHEMA,
54
+ city: NULLABLE_STRING_SCHEMA,
55
+ countryName: NULLABLE_STRING_SCHEMA,
56
+ stateText: NULLABLE_STRING_SCHEMA,
57
+ zip: NULLABLE_STRING_SCHEMA,
58
+ };
59
+ const WORKFLOW_FIELDS = {
60
+ isClosed: z.boolean().optional(),
61
+ isLead: z.boolean().optional(),
62
+ salesRep: NULLABLE_STRING_SCHEMA,
63
+ salesRepName: NULLABLE_STRING_SCHEMA,
64
+ source: NULLABLE_NUMBER_SCHEMA,
65
+ sourceName: NULLABLE_STRING_SCHEMA,
66
+ status: NULLABLE_NUMBER_SCHEMA,
67
+ statusName: NULLABLE_STRING_SCHEMA,
68
+ };
69
+ export const JOB_NIMBUS_CONTACT_SCHEMA = z
70
+ .object({
71
+ ...CRM_BASE_FIELDS,
72
+ ...ADDRESS_FIELDS,
73
+ ...WORKFLOW_FIELDS,
74
+ company: NULLABLE_STRING_SCHEMA,
75
+ description: NULLABLE_STRING_SCHEMA,
76
+ displayName: NULLABLE_STRING_SCHEMA,
77
+ email: NULLABLE_STRING_SCHEMA,
78
+ faxNumber: NULLABLE_STRING_SCHEMA,
79
+ firstName: NULLABLE_STRING_SCHEMA,
80
+ geo: JOB_NIMBUS_GEO_SCHEMA.nullable().optional(),
81
+ homePhone: NULLABLE_STRING_SCHEMA,
82
+ lastName: NULLABLE_STRING_SCHEMA,
83
+ mobilePhone: NULLABLE_STRING_SCHEMA,
84
+ website: NULLABLE_STRING_SCHEMA,
85
+ workPhone: NULLABLE_STRING_SCHEMA,
86
+ })
87
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
88
+ export const JOB_NIMBUS_JOB_SCHEMA = z
89
+ .object({
90
+ ...CRM_BASE_FIELDS,
91
+ ...ADDRESS_FIELDS,
92
+ ...WORKFLOW_FIELDS,
93
+ description: NULLABLE_STRING_SCHEMA,
94
+ geo: JOB_NIMBUS_GEO_SCHEMA.nullable().optional(),
95
+ name: z.string(),
96
+ number: NULLABLE_STRING_SCHEMA,
97
+ primary: JOB_NIMBUS_REFERENCE_SCHEMA.nullable().optional(),
98
+ })
99
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
100
+ export const JOB_NIMBUS_TASK_SCHEMA = z
101
+ .object({
102
+ ...CRM_BASE_FIELDS,
103
+ actualTime: NULLABLE_NUMBER_SCHEMA,
104
+ dateEnd: DATE_SCHEMA,
105
+ dateStart: DATE_SCHEMA,
106
+ description: NULLABLE_STRING_SCHEMA,
107
+ estimatedTime: NULLABLE_NUMBER_SCHEMA,
108
+ isCompleted: z.boolean().optional(),
109
+ number: NULLABLE_STRING_SCHEMA,
110
+ priority: NULLABLE_NUMBER_SCHEMA,
111
+ primary: JOB_NIMBUS_REFERENCE_SCHEMA.nullable().optional(),
112
+ title: z.string(),
113
+ })
114
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
115
+ export const JOB_NIMBUS_PRODUCT_UOM_SCHEMA = z
116
+ .object({
117
+ labor: z
118
+ .object({ cost: z.number().optional(), price: z.number().optional() })
119
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA)
120
+ .optional(),
121
+ material: z
122
+ .object({ cost: z.number().optional(), price: z.number().optional() })
123
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA)
124
+ .optional(),
125
+ uom: z.string(),
126
+ })
127
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
128
+ export const JOB_NIMBUS_PRODUCT_SCHEMA = z
129
+ .object({
130
+ ...CRM_BASE_FIELDS,
131
+ description: NULLABLE_STRING_SCHEMA,
132
+ externalId: NULLABLE_STRING_SCHEMA,
133
+ itemType: z.enum(["labor", "labor+material", "material"]).optional(),
134
+ locationId: z.number().nullable().optional(),
135
+ name: z.string(),
136
+ suppliers: z.array(JOB_NIMBUS_VALUE_SCHEMA).optional(),
137
+ taxExempt: z.boolean().optional(),
138
+ uoms: JOB_NIMBUS_PRODUCT_UOM_SCHEMA.array().optional(),
139
+ })
140
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
141
+ export const JOB_NIMBUS_FILE_SCHEMA = z
142
+ .object({
143
+ ...CRM_BASE_FIELDS,
144
+ description: NULLABLE_STRING_SCHEMA,
145
+ filename: NULLABLE_STRING_SCHEMA,
146
+ isPrivate: z.boolean().optional(),
147
+ name: NULLABLE_STRING_SCHEMA,
148
+ size: NULLABLE_NUMBER_SCHEMA,
149
+ })
150
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
151
+ /**
152
+ * Wraps a legacy item schema in JobNimbus's offset-page response.
153
+ *
154
+ * @param itemSchema - Schema for one legacy result.
155
+ */
156
+ export function jobNimbusPageSchema(itemSchema) {
157
+ return z
158
+ .object({
159
+ count: z.number().int().nonnegative(),
160
+ results: itemSchema.array(),
161
+ })
162
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
163
+ }
164
+ export const JOB_NIMBUS_ACTIVITY_RECORD_INPUT_SCHEMA = z.object({
165
+ id: JOB_NIMBUS_ID_SCHEMA,
166
+ type: z.string().trim().min(1),
167
+ });
168
+ export const JOB_NIMBUS_ACTIVITY_RECORD_SCHEMA = z.object({
169
+ ...JOB_NIMBUS_ACTIVITY_RECORD_INPUT_SCHEMA.shape,
170
+ name: z.string().nullable().optional(),
171
+ });
172
+ export const JOB_NIMBUS_ACTIVITY_ACTOR_SCHEMA = z
173
+ .object({
174
+ id: JOB_NIMBUS_ID_SCHEMA,
175
+ name: z.string(),
176
+ })
177
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
178
+ export const JOB_NIMBUS_ACTIVITY_SCHEMA = z
179
+ .object({
180
+ activityAction: z.string(),
181
+ activityTypeId: z.number().int(),
182
+ content: z.string(),
183
+ createdAt: z
184
+ .union([z.date(), z.iso.datetime({ offset: true })])
185
+ .transform((value) => (value instanceof Date ? value : new Date(value))),
186
+ createdBy: JOB_NIMBUS_ACTIVITY_ACTOR_SCHEMA,
187
+ hasFiles: z.boolean(),
188
+ id: JOB_NIMBUS_ID_SCHEMA,
189
+ isEditable: z.boolean(),
190
+ isPrivate: z.boolean(),
191
+ primaryRecord: JOB_NIMBUS_ACTIVITY_RECORD_SCHEMA,
192
+ relatedRecords: JOB_NIMBUS_ACTIVITY_RECORD_SCHEMA.array(),
193
+ updatedAt: z
194
+ .union([z.date(), z.iso.datetime({ offset: true })])
195
+ .transform((value) => (value instanceof Date ? value : new Date(value))),
196
+ })
197
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
198
+ export const JOB_NIMBUS_ACTIVITY_TYPE_SCHEMA = z.object({
199
+ displayName: z.string(),
200
+ id: z.number().int(),
201
+ isArchived: z.boolean(),
202
+ isSystem: z.boolean(),
203
+ });
204
+ /**
205
+ * Wraps a Platform response schema in JobNimbus's data envelope.
206
+ *
207
+ * @param dataSchema - Schema for the enveloped data value.
208
+ */
209
+ export function jobNimbusDataSchema(dataSchema) {
210
+ return z.object({ data: dataSchema }).catchall(JOB_NIMBUS_VALUE_SCHEMA);
211
+ }
212
+ export const JOB_NIMBUS_ACTIVITY_PAGE_SCHEMA = z
213
+ .object({
214
+ data: JOB_NIMBUS_ACTIVITY_SCHEMA.array(),
215
+ pagination: z.object({
216
+ nextCursor: z.string().nullable(),
217
+ pageSize: z.number().int().positive(),
218
+ }),
219
+ })
220
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
221
+ export const JOB_NIMBUS_WORKFLOW_STATUS_SCHEMA = z
222
+ .object({
223
+ id: z.number().int(),
224
+ isActive: z.boolean(),
225
+ isArchived: z.boolean(),
226
+ isClosed: z.boolean(),
227
+ isLead: z.boolean(),
228
+ name: z.string(),
229
+ order: z.number().int(),
230
+ })
231
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
232
+ export const JOB_NIMBUS_WORKFLOW_SCHEMA = z
233
+ .object({
234
+ id: z.number().int(),
235
+ isActive: z.boolean(),
236
+ name: z.string(),
237
+ objectType: z.enum(["contact", "job", "workorder"]),
238
+ order: z.number().int(),
239
+ status: JOB_NIMBUS_WORKFLOW_STATUS_SCHEMA.array(),
240
+ })
241
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
242
+ export const JOB_NIMBUS_FILE_TYPE_SCHEMA = z.object({
243
+ fileTypeId: z.number().int(),
244
+ isActive: z.boolean(),
245
+ typeName: z.string(),
246
+ });
247
+ export const JOB_NIMBUS_TASK_TYPE_SCHEMA = z.object({
248
+ defaultName: z.string(),
249
+ hideFromCalendarView: z.boolean(),
250
+ hideFromTaskList: z.boolean(),
251
+ icon: z.string(),
252
+ isActive: z.boolean(),
253
+ taskTypeId: z.number().int(),
254
+ typeName: z.string(),
255
+ });
256
+ export const JOB_NIMBUS_LEGACY_ACTIVITY_TYPE_SCHEMA = z.object({
257
+ activityTypeId: z.number().int(),
258
+ isActive: z.boolean(),
259
+ showInJobShare: z.boolean(),
260
+ typeName: z.string(),
261
+ });
262
+ export const JOB_NIMBUS_SOURCE_SCHEMA = z.object({
263
+ isActive: z.boolean(),
264
+ jobSourceId: z.number().int(),
265
+ sourceName: z.string(),
266
+ });
267
+ export const JOB_NIMBUS_ACCOUNT_SETTINGS_SCHEMA = z
268
+ .object({
269
+ activityTypes: JOB_NIMBUS_LEGACY_ACTIVITY_TYPE_SCHEMA.array().optional(),
270
+ fileTypes: JOB_NIMBUS_FILE_TYPE_SCHEMA.array().optional(),
271
+ sources: JOB_NIMBUS_SOURCE_SCHEMA.array().optional(),
272
+ taskTypes: JOB_NIMBUS_TASK_TYPE_SCHEMA.array().optional(),
273
+ workflows: JOB_NIMBUS_WORKFLOW_SCHEMA.array().optional(),
274
+ })
275
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
276
+ export const JOB_NIMBUS_GROUP_SCHEMA = z
277
+ .object({
278
+ managers: JOB_NIMBUS_ID_SCHEMA.array(),
279
+ members: JOB_NIMBUS_ID_SCHEMA.array(),
280
+ name: z.string(),
281
+ })
282
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
283
+ export const JOB_NIMBUS_USER_SCHEMA = z
284
+ .object({
285
+ calendarColor: NULLABLE_STRING_SCHEMA,
286
+ email: z.email(),
287
+ firstName: z.string(),
288
+ id: JOB_NIMBUS_ID_SCHEMA,
289
+ imageUrl: NULLABLE_STRING_SCHEMA,
290
+ isActive: z.boolean(),
291
+ lastName: z.string(),
292
+ })
293
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
294
+ export const JOB_NIMBUS_USERS_RESPONSE_SCHEMA = z
295
+ .object({
296
+ dateUpdated: z.date().optional(),
297
+ users: JOB_NIMBUS_USER_SCHEMA.array(),
298
+ })
299
+ .catchall(JOB_NIMBUS_VALUE_SCHEMA);
300
+ export const JOB_NIMBUS_COMPANY_SCHEMA = z.object({
301
+ companyId: JOB_NIMBUS_ID_SCHEMA,
302
+ companyLogoUrl: z.string().nullable(),
303
+ companyName: z.string(),
304
+ isCurrent: z.boolean(),
305
+ isPrimary: z.boolean(),
306
+ lastAccessedAt: z.iso.datetime({ offset: true }).nullable(),
307
+ userAvatarUrl: z.string().nullable(),
308
+ });
@@ -2,7 +2,7 @@ import * as z from "zod";
2
2
  import { type NotionSemanticWebhookEvent, type NotionWebhookEvent } from "./schemas.js";
3
3
  export * from "./schemas.js";
4
4
  export declare const NOTION_TRIGGER_CONFIG_SCHEMA: z.ZodObject<{}, z.core.$strip>;
5
- export declare const NOTION_WEBHOOK_EVENT_TYPES: readonly ["comment.created", "comment.deleted", "comment.updated", "data_source.content_updated", "data_source.created", "data_source.deleted", "data_source.moved", "data_source.schema_updated", "data_source.undeleted", "database.created", "database.deleted", "database.moved", "database.undeleted", "file_upload.completed", "file_upload.created", "file_upload.expired", "file_upload.upload_failed", "page.content_updated", "page.created", "page.deleted", "page.locked", "page.moved", "page.properties_updated", "page.transcription_block.transcript_deleted", "page.undeleted", "page.unlocked", "view.created", "view.deleted", "view.updated"];
5
+ export declare const NOTION_WEBHOOK_EVENT_TYPES: readonly ["comment.created", "comment.deleted", "comment.updated", "data_source.content_updated", "data_source.created", "data_source.deleted", "data_source.moved", "data_source.schema_updated", "data_source.undeleted", "database.content_updated", "database.created", "database.deleted", "database.moved", "database.schema_updated", "database.undeleted", "file_upload.completed", "file_upload.created", "file_upload.expired", "file_upload.upload_failed", "page.content_updated", "page.created", "page.deleted", "page.locked", "page.moved", "page.properties_updated", "page.transcription_block.transcript_deleted", "page.undeleted", "page.unlocked", "view.created", "view.deleted", "view.updated"];
6
6
  type NotionTriggerContract<TEvent> = {
7
7
  readonly configSchema: typeof NOTION_TRIGGER_CONFIG_SCHEMA;
8
8
  readonly eventSchema: z.ZodType<TEvent>;
@@ -11,9 +11,11 @@ type NotionSemanticTriggerTypes = {
11
11
  readonly "notion.comment.created": "comment.created";
12
12
  readonly "notion.comment.deleted": "comment.deleted";
13
13
  readonly "notion.comment.updated": "comment.updated";
14
+ readonly "notion.database.contentUpdated": "database.content_updated";
14
15
  readonly "notion.database.created": "database.created";
15
16
  readonly "notion.database.deleted": "database.deleted";
16
17
  readonly "notion.database.moved": "database.moved";
18
+ readonly "notion.database.schemaUpdated": "database.schema_updated";
17
19
  readonly "notion.database.undeleted": "database.undeleted";
18
20
  readonly "notion.dataSource.contentUpdated": "data_source.content_updated";
19
21
  readonly "notion.dataSource.created": "data_source.created";
@@ -53,9 +55,11 @@ export declare const notionEventTypeMap: {
53
55
  readonly "data_source.moved": "notion.dataSource.moved";
54
56
  readonly "data_source.schema_updated": "notion.dataSource.schemaUpdated";
55
57
  readonly "data_source.undeleted": "notion.dataSource.undeleted";
58
+ readonly "database.content_updated": "notion.database.contentUpdated";
56
59
  readonly "database.created": "notion.database.created";
57
60
  readonly "database.deleted": "notion.database.deleted";
58
61
  readonly "database.moved": "notion.database.moved";
62
+ readonly "database.schema_updated": "notion.database.schemaUpdated";
59
63
  readonly "database.undeleted": "notion.database.undeleted";
60
64
  readonly "file_upload.completed": "notion.fileUpload.completed";
61
65
  readonly "file_upload.created": "notion.fileUpload.created";
@@ -12,9 +12,11 @@ export const NOTION_WEBHOOK_EVENT_TYPES = [
12
12
  "data_source.moved",
13
13
  "data_source.schema_updated",
14
14
  "data_source.undeleted",
15
+ "database.content_updated",
15
16
  "database.created",
16
17
  "database.deleted",
17
18
  "database.moved",
19
+ "database.schema_updated",
18
20
  "database.undeleted",
19
21
  "file_upload.completed",
20
22
  "file_upload.created",
@@ -43,9 +45,11 @@ export const notionEventTypeMap = {
43
45
  "data_source.moved": "notion.dataSource.moved",
44
46
  "data_source.schema_updated": "notion.dataSource.schemaUpdated",
45
47
  "data_source.undeleted": "notion.dataSource.undeleted",
48
+ "database.content_updated": "notion.database.contentUpdated",
46
49
  "database.created": "notion.database.created",
47
50
  "database.deleted": "notion.database.deleted",
48
51
  "database.moved": "notion.database.moved",
52
+ "database.schema_updated": "notion.database.schemaUpdated",
49
53
  "database.undeleted": "notion.database.undeleted",
50
54
  "file_upload.completed": "notion.fileUpload.completed",
51
55
  "file_upload.created": "notion.fileUpload.created",
@@ -68,9 +72,11 @@ export const notionTriggerContracts = {
68
72
  "notion.comment.created": semanticContract("comment.created"),
69
73
  "notion.comment.deleted": semanticContract("comment.deleted"),
70
74
  "notion.comment.updated": semanticContract("comment.updated"),
75
+ "notion.database.contentUpdated": semanticContract("database.content_updated"),
71
76
  "notion.database.created": semanticContract("database.created"),
72
77
  "notion.database.deleted": semanticContract("database.deleted"),
73
78
  "notion.database.moved": semanticContract("database.moved"),
79
+ "notion.database.schemaUpdated": semanticContract("database.schema_updated"),
74
80
  "notion.database.undeleted": semanticContract("database.undeleted"),
75
81
  "notion.dataSource.contentUpdated": semanticContract("data_source.content_updated"),
76
82
  "notion.dataSource.created": semanticContract("data_source.created"),
@@ -477,6 +477,67 @@ declare const RAW_NOTION_EVENT_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
477
477
  timestamp: z.ZodISODateTime;
478
478
  workspace_id: z.ZodUUID;
479
479
  workspace_name: z.ZodString;
480
+ }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
481
+ data: z.ZodObject<{
482
+ parent: z.ZodObject<{
483
+ data_source_id: z.ZodOptional<z.ZodUUID>;
484
+ id: z.ZodUUID;
485
+ type: z.ZodEnum<{
486
+ team: "team";
487
+ space: "space";
488
+ agent: "agent";
489
+ block: "block";
490
+ page: "page";
491
+ database: "database";
492
+ }>;
493
+ }, z.core.$strip>;
494
+ updated_blocks: z.ZodArray<z.ZodObject<{
495
+ id: z.ZodUUID;
496
+ type: z.ZodEnum<{
497
+ block: "block";
498
+ page: "page";
499
+ database: "database";
500
+ }>;
501
+ }, z.core.$strip>>;
502
+ }, z.core.$strip>;
503
+ entity: z.ZodObject<{
504
+ id: z.ZodUUID;
505
+ type: z.ZodEnum<{
506
+ block: "block";
507
+ database: "database";
508
+ data_source: "data_source";
509
+ }>;
510
+ }, z.core.$strip>;
511
+ type: z.ZodLiteral<"database.content_updated">;
512
+ accessible_by: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
513
+ id: z.ZodUUID;
514
+ type: z.ZodLiteral<"person">;
515
+ }, z.core.$strip>, z.ZodObject<{
516
+ id: z.ZodUUID;
517
+ type: z.ZodLiteral<"bot">;
518
+ }, z.core.$strip>], "type">>>;
519
+ api_version: z.ZodEnum<{
520
+ "2022-06-28": "2022-06-28";
521
+ "2025-09-03": "2025-09-03";
522
+ "2026-03-11": "2026-03-11";
523
+ }>;
524
+ attempt_number: z.ZodNumber;
525
+ authors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
526
+ id: z.ZodUUID;
527
+ type: z.ZodLiteral<"person">;
528
+ }, z.core.$strip>, z.ZodObject<{
529
+ id: z.ZodUUID;
530
+ type: z.ZodLiteral<"bot">;
531
+ }, z.core.$strip>, z.ZodObject<{
532
+ id: z.ZodUUID;
533
+ type: z.ZodLiteral<"agent">;
534
+ }, z.core.$strip>], "type">>;
535
+ id: z.ZodUUID;
536
+ integration_id: z.ZodUUID;
537
+ subscription_id: z.ZodUUID;
538
+ timestamp: z.ZodISODateTime;
539
+ workspace_id: z.ZodUUID;
540
+ workspace_name: z.ZodString;
480
541
  }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
481
542
  data: z.ZodObject<{
482
543
  parent: z.ZodObject<{
@@ -636,6 +697,68 @@ declare const RAW_NOTION_EVENT_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
636
697
  timestamp: z.ZodISODateTime;
637
698
  workspace_id: z.ZodUUID;
638
699
  workspace_name: z.ZodString;
700
+ }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
701
+ data: z.ZodObject<{
702
+ parent: z.ZodObject<{
703
+ data_source_id: z.ZodOptional<z.ZodUUID>;
704
+ id: z.ZodUUID;
705
+ type: z.ZodEnum<{
706
+ team: "team";
707
+ space: "space";
708
+ agent: "agent";
709
+ block: "block";
710
+ page: "page";
711
+ database: "database";
712
+ }>;
713
+ }, z.core.$strip>;
714
+ updated_properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
715
+ action: z.ZodEnum<{
716
+ deleted: "deleted";
717
+ created: "created";
718
+ updated: "updated";
719
+ }>;
720
+ id: z.ZodString;
721
+ name: z.ZodNullable<z.ZodString>;
722
+ }, z.core.$strip>>>;
723
+ }, z.core.$strip>;
724
+ entity: z.ZodObject<{
725
+ id: z.ZodUUID;
726
+ type: z.ZodEnum<{
727
+ block: "block";
728
+ database: "database";
729
+ data_source: "data_source";
730
+ }>;
731
+ }, z.core.$strip>;
732
+ type: z.ZodLiteral<"database.schema_updated">;
733
+ accessible_by: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
734
+ id: z.ZodUUID;
735
+ type: z.ZodLiteral<"person">;
736
+ }, z.core.$strip>, z.ZodObject<{
737
+ id: z.ZodUUID;
738
+ type: z.ZodLiteral<"bot">;
739
+ }, z.core.$strip>], "type">>>;
740
+ api_version: z.ZodEnum<{
741
+ "2022-06-28": "2022-06-28";
742
+ "2025-09-03": "2025-09-03";
743
+ "2026-03-11": "2026-03-11";
744
+ }>;
745
+ attempt_number: z.ZodNumber;
746
+ authors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
747
+ id: z.ZodUUID;
748
+ type: z.ZodLiteral<"person">;
749
+ }, z.core.$strip>, z.ZodObject<{
750
+ id: z.ZodUUID;
751
+ type: z.ZodLiteral<"bot">;
752
+ }, z.core.$strip>, z.ZodObject<{
753
+ id: z.ZodUUID;
754
+ type: z.ZodLiteral<"agent">;
755
+ }, z.core.$strip>], "type">>;
756
+ id: z.ZodUUID;
757
+ integration_id: z.ZodUUID;
758
+ subscription_id: z.ZodUUID;
759
+ timestamp: z.ZodISODateTime;
760
+ workspace_id: z.ZodUUID;
761
+ workspace_name: z.ZodString;
639
762
  }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
640
763
  data: z.ZodObject<{
641
764
  parent: z.ZodObject<{
@@ -1933,6 +2056,67 @@ export declare const NOTION_EVENT_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
1933
2056
  timestamp: z.ZodISODateTime;
1934
2057
  workspace_id: z.ZodUUID;
1935
2058
  workspace_name: z.ZodString;
2059
+ }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
2060
+ data: z.ZodObject<{
2061
+ parent: z.ZodObject<{
2062
+ data_source_id: z.ZodOptional<z.ZodUUID>;
2063
+ id: z.ZodUUID;
2064
+ type: z.ZodEnum<{
2065
+ team: "team";
2066
+ space: "space";
2067
+ agent: "agent";
2068
+ block: "block";
2069
+ page: "page";
2070
+ database: "database";
2071
+ }>;
2072
+ }, z.core.$strip>;
2073
+ updated_blocks: z.ZodArray<z.ZodObject<{
2074
+ id: z.ZodUUID;
2075
+ type: z.ZodEnum<{
2076
+ block: "block";
2077
+ page: "page";
2078
+ database: "database";
2079
+ }>;
2080
+ }, z.core.$strip>>;
2081
+ }, z.core.$strip>;
2082
+ entity: z.ZodObject<{
2083
+ id: z.ZodUUID;
2084
+ type: z.ZodEnum<{
2085
+ block: "block";
2086
+ database: "database";
2087
+ data_source: "data_source";
2088
+ }>;
2089
+ }, z.core.$strip>;
2090
+ type: z.ZodLiteral<"database.content_updated">;
2091
+ accessible_by: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2092
+ id: z.ZodUUID;
2093
+ type: z.ZodLiteral<"person">;
2094
+ }, z.core.$strip>, z.ZodObject<{
2095
+ id: z.ZodUUID;
2096
+ type: z.ZodLiteral<"bot">;
2097
+ }, z.core.$strip>], "type">>>;
2098
+ api_version: z.ZodEnum<{
2099
+ "2022-06-28": "2022-06-28";
2100
+ "2025-09-03": "2025-09-03";
2101
+ "2026-03-11": "2026-03-11";
2102
+ }>;
2103
+ attempt_number: z.ZodNumber;
2104
+ authors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2105
+ id: z.ZodUUID;
2106
+ type: z.ZodLiteral<"person">;
2107
+ }, z.core.$strip>, z.ZodObject<{
2108
+ id: z.ZodUUID;
2109
+ type: z.ZodLiteral<"bot">;
2110
+ }, z.core.$strip>, z.ZodObject<{
2111
+ id: z.ZodUUID;
2112
+ type: z.ZodLiteral<"agent">;
2113
+ }, z.core.$strip>], "type">>;
2114
+ id: z.ZodUUID;
2115
+ integration_id: z.ZodUUID;
2116
+ subscription_id: z.ZodUUID;
2117
+ timestamp: z.ZodISODateTime;
2118
+ workspace_id: z.ZodUUID;
2119
+ workspace_name: z.ZodString;
1936
2120
  }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
1937
2121
  data: z.ZodObject<{
1938
2122
  parent: z.ZodObject<{
@@ -2092,6 +2276,68 @@ export declare const NOTION_EVENT_SCHEMA: z.ZodDiscriminatedUnion<[z.ZodObject<{
2092
2276
  timestamp: z.ZodISODateTime;
2093
2277
  workspace_id: z.ZodUUID;
2094
2278
  workspace_name: z.ZodString;
2279
+ }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
2280
+ data: z.ZodObject<{
2281
+ parent: z.ZodObject<{
2282
+ data_source_id: z.ZodOptional<z.ZodUUID>;
2283
+ id: z.ZodUUID;
2284
+ type: z.ZodEnum<{
2285
+ team: "team";
2286
+ space: "space";
2287
+ agent: "agent";
2288
+ block: "block";
2289
+ page: "page";
2290
+ database: "database";
2291
+ }>;
2292
+ }, z.core.$strip>;
2293
+ updated_properties: z.ZodOptional<z.ZodArray<z.ZodObject<{
2294
+ action: z.ZodEnum<{
2295
+ deleted: "deleted";
2296
+ created: "created";
2297
+ updated: "updated";
2298
+ }>;
2299
+ id: z.ZodString;
2300
+ name: z.ZodNullable<z.ZodString>;
2301
+ }, z.core.$strip>>>;
2302
+ }, z.core.$strip>;
2303
+ entity: z.ZodObject<{
2304
+ id: z.ZodUUID;
2305
+ type: z.ZodEnum<{
2306
+ block: "block";
2307
+ database: "database";
2308
+ data_source: "data_source";
2309
+ }>;
2310
+ }, z.core.$strip>;
2311
+ type: z.ZodLiteral<"database.schema_updated">;
2312
+ accessible_by: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2313
+ id: z.ZodUUID;
2314
+ type: z.ZodLiteral<"person">;
2315
+ }, z.core.$strip>, z.ZodObject<{
2316
+ id: z.ZodUUID;
2317
+ type: z.ZodLiteral<"bot">;
2318
+ }, z.core.$strip>], "type">>>;
2319
+ api_version: z.ZodEnum<{
2320
+ "2022-06-28": "2022-06-28";
2321
+ "2025-09-03": "2025-09-03";
2322
+ "2026-03-11": "2026-03-11";
2323
+ }>;
2324
+ attempt_number: z.ZodNumber;
2325
+ authors: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2326
+ id: z.ZodUUID;
2327
+ type: z.ZodLiteral<"person">;
2328
+ }, z.core.$strip>, z.ZodObject<{
2329
+ id: z.ZodUUID;
2330
+ type: z.ZodLiteral<"bot">;
2331
+ }, z.core.$strip>, z.ZodObject<{
2332
+ id: z.ZodUUID;
2333
+ type: z.ZodLiteral<"agent">;
2334
+ }, z.core.$strip>], "type">>;
2335
+ id: z.ZodUUID;
2336
+ integration_id: z.ZodUUID;
2337
+ subscription_id: z.ZodUUID;
2338
+ timestamp: z.ZodISODateTime;
2339
+ workspace_id: z.ZodUUID;
2340
+ workspace_name: z.ZodString;
2095
2341
  }, z.core.$catchall<z.ZodJSONSchema>>, z.ZodObject<{
2096
2342
  data: z.ZodObject<{
2097
2343
  parent: z.ZodObject<{
@@ -78,9 +78,24 @@ const RAW_NOTION_EVENT_SCHEMA = z.discriminatedUnion("type", [
78
78
  .optional(),
79
79
  })),
80
80
  eventWithDataSchema("data_source.undeleted", DATABASE_ENTITY_SCHEMA, PARENT_DATA_SCHEMA),
81
+ eventWithDataSchema("database.content_updated", DATABASE_ENTITY_SCHEMA, z.object({
82
+ parent: PARENT_SCHEMA,
83
+ updated_blocks: UPDATED_BLOCK_SCHEMA.array(),
84
+ })),
81
85
  eventWithDataSchema("database.created", DATABASE_ENTITY_SCHEMA, PARENT_DATA_SCHEMA),
82
86
  eventWithDataSchema("database.deleted", DATABASE_ENTITY_SCHEMA, PARENT_DATA_SCHEMA),
83
87
  eventWithDataSchema("database.moved", DATABASE_ENTITY_SCHEMA, PARENT_DATA_SCHEMA),
88
+ eventWithDataSchema("database.schema_updated", DATABASE_ENTITY_SCHEMA, z.object({
89
+ parent: PARENT_SCHEMA,
90
+ updated_properties: z
91
+ .object({
92
+ action: z.enum(["created", "updated", "deleted"]),
93
+ id: z.string(),
94
+ name: z.string().nullable(),
95
+ })
96
+ .array()
97
+ .optional(),
98
+ })),
84
99
  eventWithDataSchema("database.undeleted", DATABASE_ENTITY_SCHEMA, PARENT_DATA_SCHEMA),
85
100
  eventSchema("file_upload.completed", FILE_UPLOAD_ENTITY_SCHEMA),
86
101
  eventSchema("file_upload.created", FILE_UPLOAD_ENTITY_SCHEMA),