@automate.ax/integration-contracts 0.55.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.
Files changed (136) hide show
  1. package/dist/airtable/api.d.ts +19 -0
  2. package/dist/airtable/api.js +44 -0
  3. package/dist/airtable/index.d.ts +353 -0
  4. package/dist/airtable/index.js +32 -0
  5. package/dist/airtable/schemas.d.ts +716 -0
  6. package/dist/airtable/schemas.js +184 -0
  7. package/dist/asana/api.d.ts +70 -0
  8. package/dist/asana/api.js +119 -0
  9. package/dist/asana/index.d.ts +384 -0
  10. package/dist/asana/index.js +38 -0
  11. package/dist/asana/schemas.d.ts +1060 -0
  12. package/dist/asana/schemas.js +512 -0
  13. package/dist/brevo/api.d.ts +31 -0
  14. package/dist/brevo/api.js +64 -0
  15. package/dist/brevo/index.d.ts +822 -0
  16. package/dist/brevo/index.js +51 -0
  17. package/dist/brevo/schemas.d.ts +1217 -0
  18. package/dist/brevo/schemas.js +332 -0
  19. package/dist/github/index.d.ts +37 -0
  20. package/dist/github/index.js +106 -0
  21. package/dist/github/schemas.d.ts +8014 -0
  22. package/dist/github/schemas.js +113 -0
  23. package/dist/gmail/gmail.d.ts +172 -0
  24. package/dist/gmail/gmail.js +405 -0
  25. package/dist/gmail/index.d.ts +262 -0
  26. package/dist/gmail/index.js +23 -0
  27. package/dist/gmail/schemas.d.ts +444 -0
  28. package/dist/gmail/schemas.js +242 -0
  29. package/dist/google-calendar/event-schemas.d.ts +117 -0
  30. package/dist/google-calendar/event-schemas.js +13 -0
  31. package/dist/google-calendar/google-calendar.d.ts +147 -0
  32. package/dist/google-calendar/google-calendar.js +583 -0
  33. package/dist/google-calendar/index.d.ts +365 -0
  34. package/dist/google-calendar/index.js +24 -0
  35. package/dist/google-calendar/schemas.d.ts +592 -0
  36. package/dist/google-calendar/schemas.js +379 -0
  37. package/dist/google-forms/event-schemas.d.ts +105 -0
  38. package/dist/google-forms/event-schemas.js +20 -0
  39. package/dist/google-forms/google-forms.d.ts +243 -0
  40. package/dist/google-forms/google-forms.js +581 -0
  41. package/dist/google-forms/index.d.ts +141 -0
  42. package/dist/google-forms/index.js +20 -0
  43. package/dist/google-forms/schemas.d.ts +618 -0
  44. package/dist/google-forms/schemas.js +383 -0
  45. package/dist/linear/api.d.ts +63 -0
  46. package/dist/linear/api.js +88 -0
  47. package/dist/linear/index.d.ts +1338 -0
  48. package/dist/linear/index.js +55 -0
  49. package/dist/linear/schemas.d.ts +1795 -0
  50. package/dist/linear/schemas.js +760 -0
  51. package/dist/outlook/graph.d.ts +34 -0
  52. package/dist/outlook/graph.js +98 -0
  53. package/dist/outlook/index.d.ts +115 -0
  54. package/dist/outlook/index.js +11 -0
  55. package/dist/outlook/schemas.d.ts +529 -0
  56. package/dist/outlook/schemas.js +312 -0
  57. package/dist/resend/index.d.ts +707 -0
  58. package/dist/resend/index.js +54 -0
  59. package/dist/resend/schemas.d.ts +1033 -0
  60. package/dist/resend/schemas.js +377 -0
  61. package/dist/slack/index.d.ts +151 -0
  62. package/dist/slack/index.js +22 -0
  63. package/dist/slack/schemas.d.ts +641 -0
  64. package/dist/slack/schemas.js +581 -0
  65. package/dist/teams/graph.d.ts +33 -0
  66. package/dist/teams/graph.js +95 -0
  67. package/dist/teams/index.d.ts +164 -0
  68. package/dist/teams/index.js +21 -0
  69. package/dist/teams/schemas.d.ts +675 -0
  70. package/dist/teams/schemas.js +365 -0
  71. package/dist/trello/api.d.ts +69 -0
  72. package/dist/trello/api.js +140 -0
  73. package/dist/trello/event-schemas.d.ts +1101 -0
  74. package/dist/trello/event-schemas.js +233 -0
  75. package/dist/trello/index.d.ts +721 -0
  76. package/dist/trello/index.js +35 -0
  77. package/dist/trello/schemas.d.ts +283 -0
  78. package/dist/trello/schemas.js +401 -0
  79. package/dist/triggers.d.ts +26 -0
  80. package/dist/triggers.js +33 -0
  81. package/dist/vercel/index.d.ts +1065 -0
  82. package/dist/vercel/index.js +114 -0
  83. package/dist/vercel/schemas.d.ts +1518 -0
  84. package/dist/vercel/schemas.js +335 -0
  85. package/dist/whatsapp/api.d.ts +62 -0
  86. package/dist/whatsapp/api.js +121 -0
  87. package/dist/whatsapp/index.d.ts +614 -0
  88. package/dist/whatsapp/index.js +35 -0
  89. package/dist/whatsapp/schemas.d.ts +926 -0
  90. package/dist/whatsapp/schemas.js +326 -0
  91. package/package.json +169 -0
  92. package/src/airtable/api.ts +66 -0
  93. package/src/airtable/index.ts +41 -0
  94. package/src/airtable/schemas.ts +231 -0
  95. package/src/asana/api.ts +171 -0
  96. package/src/asana/index.ts +49 -0
  97. package/src/asana/schemas.ts +655 -0
  98. package/src/brevo/api.ts +89 -0
  99. package/src/brevo/index.ts +66 -0
  100. package/src/brevo/schemas.ts +449 -0
  101. package/src/github/index.ts +217 -0
  102. package/src/github/schemas.ts +435 -0
  103. package/src/gmail/gmail.ts +577 -0
  104. package/src/gmail/index.ts +26 -0
  105. package/src/gmail/schemas.ts +327 -0
  106. package/src/google-calendar/event-schemas.ts +16 -0
  107. package/src/google-calendar/google-calendar.ts +727 -0
  108. package/src/google-calendar/index.ts +27 -0
  109. package/src/google-calendar/schemas.ts +529 -0
  110. package/src/google-forms/event-schemas.ts +26 -0
  111. package/src/google-forms/google-forms.ts +683 -0
  112. package/src/google-forms/index.ts +23 -0
  113. package/src/google-forms/schemas.ts +499 -0
  114. package/src/linear/api.ts +141 -0
  115. package/src/linear/index.ts +71 -0
  116. package/src/linear/schemas.ts +1060 -0
  117. package/src/outlook/graph.ts +132 -0
  118. package/src/outlook/index.ts +14 -0
  119. package/src/outlook/schemas.ts +388 -0
  120. package/src/resend/index.ts +70 -0
  121. package/src/resend/schemas.ts +462 -0
  122. package/src/slack/index.ts +29 -0
  123. package/src/slack/schemas.ts +737 -0
  124. package/src/teams/graph.ts +130 -0
  125. package/src/teams/index.ts +27 -0
  126. package/src/teams/schemas.ts +463 -0
  127. package/src/trello/api.ts +190 -0
  128. package/src/trello/event-schemas.ts +290 -0
  129. package/src/trello/index.ts +45 -0
  130. package/src/trello/schemas.ts +507 -0
  131. package/src/triggers.ts +68 -0
  132. package/src/vercel/index.ts +147 -0
  133. package/src/vercel/schemas.ts +594 -0
  134. package/src/whatsapp/api.ts +171 -0
  135. package/src/whatsapp/index.ts +46 -0
  136. package/src/whatsapp/schemas.ts +341 -0
@@ -0,0 +1,19 @@
1
+ export declare const AIRTABLE_API_ORIGIN = "https://api.airtable.com/v0/";
2
+ /** Authenticated raw Airtable Web API client for custom actions. */
3
+ export interface AirtableApi {
4
+ /**
5
+ * Sends a request relative to `https://api.airtable.com/v0/`.
6
+ *
7
+ * Non-successful responses throw with Airtable's provider error message.
8
+ *
9
+ * @param path - API path relative to the v0 root.
10
+ * @param init - Standard Fetch request options.
11
+ */
12
+ request(path: string, init?: RequestInit): Promise<Response>;
13
+ }
14
+ /**
15
+ * Creates an authenticated raw Airtable Web API client.
16
+ *
17
+ * @param secret - Refreshed Airtable integration secret.
18
+ */
19
+ export declare function getAirtableApi(secret: Record<string, unknown>): AirtableApi;
@@ -0,0 +1,44 @@
1
+ import { z } from "zod";
2
+ export const AIRTABLE_API_ORIGIN = "https://api.airtable.com/v0/";
3
+ const AIRTABLE_SECRET_SCHEMA = z.object({
4
+ accessToken: z.string().min(1),
5
+ });
6
+ const AIRTABLE_ERROR_SCHEMA = z.object({
7
+ error: z.union([
8
+ z.string(),
9
+ z.object({
10
+ message: z.string().optional(),
11
+ type: z.string().optional(),
12
+ }),
13
+ ]),
14
+ });
15
+ /**
16
+ * Creates an authenticated raw Airtable Web API client.
17
+ *
18
+ * @param secret - Refreshed Airtable integration secret.
19
+ */
20
+ export function getAirtableApi(secret) {
21
+ const { accessToken } = AIRTABLE_SECRET_SCHEMA.parse(secret);
22
+ return {
23
+ request: async (path, init) => {
24
+ const headers = new Headers(init?.headers);
25
+ headers.set("Authorization", `Bearer ${accessToken}`);
26
+ if (init?.body !== undefined && !headers.has("Content-Type")) {
27
+ headers.set("Content-Type", "application/json");
28
+ }
29
+ const response = await fetch(new URL(path, AIRTABLE_API_ORIGIN), {
30
+ ...init,
31
+ headers,
32
+ });
33
+ if (!response.ok) {
34
+ const result = AIRTABLE_ERROR_SCHEMA.safeParse(await response.json().catch(() => undefined));
35
+ const providerError = result.success ? result.data.error : undefined;
36
+ throw new Error((typeof providerError === "string"
37
+ ? providerError
38
+ : (providerError?.message ?? providerError?.type)) ??
39
+ `Airtable request failed with status ${response.status}.`);
40
+ }
41
+ return response;
42
+ },
43
+ };
44
+ }
@@ -0,0 +1,353 @@
1
+ import { z } from "zod";
2
+ export * from "./api.js";
3
+ export * from "./schemas.js";
4
+ /** Canonical Airtable webhook scope shared by authoring and ingestion. */
5
+ export declare const AIRTABLE_TRIGGER_CONFIG_SCHEMA: z.ZodObject<{
6
+ baseId: z.ZodString;
7
+ scopeId: z.ZodString;
8
+ scopeType: z.ZodEnum<{
9
+ view: "view";
10
+ table: "table";
11
+ }>;
12
+ }, z.core.$strip>;
13
+ export declare const airtableTriggerContracts: {
14
+ readonly "airtable.record.created": {
15
+ readonly configSchema: z.ZodObject<{
16
+ baseId: z.ZodString;
17
+ scopeId: z.ZodString;
18
+ scopeType: z.ZodEnum<{
19
+ view: "view";
20
+ table: "table";
21
+ }>;
22
+ }, z.core.$strip>;
23
+ readonly eventSchema: z.ZodObject<{
24
+ baseId: z.ZodString;
25
+ event: z.ZodObject<{
26
+ actionMetadata: z.ZodObject<{
27
+ source: z.ZodString;
28
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
29
+ }, z.core.$catchall<z.ZodJSONSchema>>;
30
+ baseTransactionNumber: z.ZodNumber;
31
+ changedTablesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
32
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
33
+ current: z.ZodObject<{
34
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
35
+ }, z.core.$loose>;
36
+ previous: z.ZodOptional<z.ZodObject<{
37
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
38
+ }, z.core.$loose>>;
39
+ unchanged: z.ZodOptional<z.ZodObject<{
40
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
41
+ }, z.core.$loose>>;
42
+ }, z.core.$loose>>>;
43
+ changedViewsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
44
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
45
+ current: z.ZodObject<{
46
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
47
+ }, z.core.$loose>;
48
+ previous: z.ZodOptional<z.ZodObject<{
49
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
50
+ }, z.core.$loose>>;
51
+ unchanged: z.ZodOptional<z.ZodObject<{
52
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
53
+ }, z.core.$loose>>;
54
+ }, z.core.$loose>>>;
55
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
56
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
57
+ createdTime: z.ZodISODateTime;
58
+ }, z.core.$loose>>>;
59
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ }, z.core.$loose>>>;
61
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
62
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
63
+ createdTime: z.ZodISODateTime;
64
+ }, z.core.$loose>>>;
65
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ }, z.core.$loose>>>;
67
+ code: z.ZodOptional<z.ZodString>;
68
+ error: z.ZodOptional<z.ZodLiteral<true>>;
69
+ payloadFormat: z.ZodString;
70
+ timestamp: z.ZodISODateTime;
71
+ }, z.core.$catchall<z.ZodJSONSchema>>;
72
+ occurredAt: z.ZodISODateTime;
73
+ recordId: z.ZodString;
74
+ source: z.ZodString;
75
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
76
+ tableId: z.ZodString;
77
+ transactionNumber: z.ZodNumber;
78
+ createdAt: z.ZodISODateTime;
79
+ fields: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
80
+ }, z.core.$strip>;
81
+ };
82
+ readonly "airtable.record.deleted": {
83
+ readonly configSchema: z.ZodObject<{
84
+ baseId: z.ZodString;
85
+ scopeId: z.ZodString;
86
+ scopeType: z.ZodEnum<{
87
+ view: "view";
88
+ table: "table";
89
+ }>;
90
+ }, z.core.$strip>;
91
+ readonly eventSchema: z.ZodObject<{
92
+ baseId: z.ZodString;
93
+ event: z.ZodObject<{
94
+ actionMetadata: z.ZodObject<{
95
+ source: z.ZodString;
96
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
97
+ }, z.core.$catchall<z.ZodJSONSchema>>;
98
+ baseTransactionNumber: z.ZodNumber;
99
+ changedTablesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
100
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
101
+ current: z.ZodObject<{
102
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
103
+ }, z.core.$loose>;
104
+ previous: z.ZodOptional<z.ZodObject<{
105
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
106
+ }, z.core.$loose>>;
107
+ unchanged: z.ZodOptional<z.ZodObject<{
108
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
109
+ }, z.core.$loose>>;
110
+ }, z.core.$loose>>>;
111
+ changedViewsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
112
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
113
+ current: z.ZodObject<{
114
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
115
+ }, z.core.$loose>;
116
+ previous: z.ZodOptional<z.ZodObject<{
117
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
118
+ }, z.core.$loose>>;
119
+ unchanged: z.ZodOptional<z.ZodObject<{
120
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
121
+ }, z.core.$loose>>;
122
+ }, z.core.$loose>>>;
123
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
124
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
125
+ createdTime: z.ZodISODateTime;
126
+ }, z.core.$loose>>>;
127
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
128
+ }, z.core.$loose>>>;
129
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
130
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
131
+ createdTime: z.ZodISODateTime;
132
+ }, z.core.$loose>>>;
133
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
134
+ }, z.core.$loose>>>;
135
+ code: z.ZodOptional<z.ZodString>;
136
+ error: z.ZodOptional<z.ZodLiteral<true>>;
137
+ payloadFormat: z.ZodString;
138
+ timestamp: z.ZodISODateTime;
139
+ }, z.core.$catchall<z.ZodJSONSchema>>;
140
+ occurredAt: z.ZodISODateTime;
141
+ recordId: z.ZodString;
142
+ source: z.ZodString;
143
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
144
+ tableId: z.ZodString;
145
+ transactionNumber: z.ZodNumber;
146
+ }, z.core.$strip>;
147
+ };
148
+ readonly "airtable.record.movedIntoView": {
149
+ readonly configSchema: z.ZodObject<{
150
+ baseId: z.ZodString;
151
+ scopeId: z.ZodString;
152
+ scopeType: z.ZodEnum<{
153
+ view: "view";
154
+ table: "table";
155
+ }>;
156
+ }, z.core.$strip>;
157
+ readonly eventSchema: z.ZodObject<{
158
+ baseId: z.ZodString;
159
+ event: z.ZodObject<{
160
+ actionMetadata: z.ZodObject<{
161
+ source: z.ZodString;
162
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
163
+ }, z.core.$catchall<z.ZodJSONSchema>>;
164
+ baseTransactionNumber: z.ZodNumber;
165
+ changedTablesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
166
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
167
+ current: z.ZodObject<{
168
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
169
+ }, z.core.$loose>;
170
+ previous: z.ZodOptional<z.ZodObject<{
171
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
172
+ }, z.core.$loose>>;
173
+ unchanged: z.ZodOptional<z.ZodObject<{
174
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
175
+ }, z.core.$loose>>;
176
+ }, z.core.$loose>>>;
177
+ changedViewsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
178
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
179
+ current: z.ZodObject<{
180
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
181
+ }, z.core.$loose>;
182
+ previous: z.ZodOptional<z.ZodObject<{
183
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
184
+ }, z.core.$loose>>;
185
+ unchanged: z.ZodOptional<z.ZodObject<{
186
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
187
+ }, z.core.$loose>>;
188
+ }, z.core.$loose>>>;
189
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
190
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
191
+ createdTime: z.ZodISODateTime;
192
+ }, z.core.$loose>>>;
193
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
194
+ }, z.core.$loose>>>;
195
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
196
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
197
+ createdTime: z.ZodISODateTime;
198
+ }, z.core.$loose>>>;
199
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
200
+ }, z.core.$loose>>>;
201
+ code: z.ZodOptional<z.ZodString>;
202
+ error: z.ZodOptional<z.ZodLiteral<true>>;
203
+ payloadFormat: z.ZodString;
204
+ timestamp: z.ZodISODateTime;
205
+ }, z.core.$catchall<z.ZodJSONSchema>>;
206
+ occurredAt: z.ZodISODateTime;
207
+ recordId: z.ZodString;
208
+ source: z.ZodString;
209
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
210
+ tableId: z.ZodString;
211
+ transactionNumber: z.ZodNumber;
212
+ createdAt: z.ZodISODateTime;
213
+ fields: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
214
+ viewId: z.ZodString;
215
+ }, z.core.$strip>;
216
+ };
217
+ readonly "airtable.record.movedOutOfView": {
218
+ readonly configSchema: z.ZodObject<{
219
+ baseId: z.ZodString;
220
+ scopeId: z.ZodString;
221
+ scopeType: z.ZodEnum<{
222
+ view: "view";
223
+ table: "table";
224
+ }>;
225
+ }, z.core.$strip>;
226
+ readonly eventSchema: z.ZodObject<{
227
+ baseId: z.ZodString;
228
+ event: z.ZodObject<{
229
+ actionMetadata: z.ZodObject<{
230
+ source: z.ZodString;
231
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
232
+ }, z.core.$catchall<z.ZodJSONSchema>>;
233
+ baseTransactionNumber: z.ZodNumber;
234
+ changedTablesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
235
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
236
+ current: z.ZodObject<{
237
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
238
+ }, z.core.$loose>;
239
+ previous: z.ZodOptional<z.ZodObject<{
240
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
241
+ }, z.core.$loose>>;
242
+ unchanged: z.ZodOptional<z.ZodObject<{
243
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
244
+ }, z.core.$loose>>;
245
+ }, z.core.$loose>>>;
246
+ changedViewsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
247
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
248
+ current: z.ZodObject<{
249
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
250
+ }, z.core.$loose>;
251
+ previous: z.ZodOptional<z.ZodObject<{
252
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
253
+ }, z.core.$loose>>;
254
+ unchanged: z.ZodOptional<z.ZodObject<{
255
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
256
+ }, z.core.$loose>>;
257
+ }, z.core.$loose>>>;
258
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
259
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
260
+ createdTime: z.ZodISODateTime;
261
+ }, z.core.$loose>>>;
262
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
263
+ }, z.core.$loose>>>;
264
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
265
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
266
+ createdTime: z.ZodISODateTime;
267
+ }, z.core.$loose>>>;
268
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
269
+ }, z.core.$loose>>>;
270
+ code: z.ZodOptional<z.ZodString>;
271
+ error: z.ZodOptional<z.ZodLiteral<true>>;
272
+ payloadFormat: z.ZodString;
273
+ timestamp: z.ZodISODateTime;
274
+ }, z.core.$catchall<z.ZodJSONSchema>>;
275
+ occurredAt: z.ZodISODateTime;
276
+ recordId: z.ZodString;
277
+ source: z.ZodString;
278
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
279
+ tableId: z.ZodString;
280
+ transactionNumber: z.ZodNumber;
281
+ viewId: z.ZodString;
282
+ }, z.core.$strip>;
283
+ };
284
+ readonly "airtable.record.updated": {
285
+ readonly configSchema: z.ZodObject<{
286
+ baseId: z.ZodString;
287
+ scopeId: z.ZodString;
288
+ scopeType: z.ZodEnum<{
289
+ view: "view";
290
+ table: "table";
291
+ }>;
292
+ }, z.core.$strip>;
293
+ readonly eventSchema: z.ZodObject<{
294
+ baseId: z.ZodString;
295
+ event: z.ZodObject<{
296
+ actionMetadata: z.ZodObject<{
297
+ source: z.ZodString;
298
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
299
+ }, z.core.$catchall<z.ZodJSONSchema>>;
300
+ baseTransactionNumber: z.ZodNumber;
301
+ changedTablesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
302
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
303
+ current: z.ZodObject<{
304
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
305
+ }, z.core.$loose>;
306
+ previous: z.ZodOptional<z.ZodObject<{
307
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
308
+ }, z.core.$loose>>;
309
+ unchanged: z.ZodOptional<z.ZodObject<{
310
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
311
+ }, z.core.$loose>>;
312
+ }, z.core.$loose>>>;
313
+ changedViewsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
314
+ changedRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
315
+ current: z.ZodObject<{
316
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
317
+ }, z.core.$loose>;
318
+ previous: z.ZodOptional<z.ZodObject<{
319
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
320
+ }, z.core.$loose>>;
321
+ unchanged: z.ZodOptional<z.ZodObject<{
322
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
323
+ }, z.core.$loose>>;
324
+ }, z.core.$loose>>>;
325
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
326
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
327
+ createdTime: z.ZodISODateTime;
328
+ }, z.core.$loose>>>;
329
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
330
+ }, z.core.$loose>>>;
331
+ createdRecordsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
332
+ cellValuesByFieldId: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
333
+ createdTime: z.ZodISODateTime;
334
+ }, z.core.$loose>>>;
335
+ destroyedRecordIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
336
+ }, z.core.$loose>>>;
337
+ code: z.ZodOptional<z.ZodString>;
338
+ error: z.ZodOptional<z.ZodLiteral<true>>;
339
+ payloadFormat: z.ZodString;
340
+ timestamp: z.ZodISODateTime;
341
+ }, z.core.$catchall<z.ZodJSONSchema>>;
342
+ occurredAt: z.ZodISODateTime;
343
+ recordId: z.ZodString;
344
+ source: z.ZodString;
345
+ sourceMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
346
+ tableId: z.ZodString;
347
+ transactionNumber: z.ZodNumber;
348
+ changedFieldIds: z.ZodArray<z.ZodString>;
349
+ fields: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
350
+ previousFields: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
351
+ }, z.core.$strip>;
352
+ };
353
+ };
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { AIRTABLE_RECORD_CREATED_EVENT_SCHEMA, AIRTABLE_RECORD_DELETED_EVENT_SCHEMA, AIRTABLE_RECORD_MOVED_INTO_VIEW_EVENT_SCHEMA, AIRTABLE_RECORD_MOVED_OUT_OF_VIEW_EVENT_SCHEMA, AIRTABLE_RECORD_UPDATED_EVENT_SCHEMA, } from "./schemas.js";
3
+ export * from "./api.js";
4
+ export * from "./schemas.js";
5
+ /** Canonical Airtable webhook scope shared by authoring and ingestion. */
6
+ export const AIRTABLE_TRIGGER_CONFIG_SCHEMA = z.object({
7
+ baseId: z.string(),
8
+ scopeId: z.string(),
9
+ scopeType: z.enum(["table", "view"]),
10
+ });
11
+ export const airtableTriggerContracts = {
12
+ "airtable.record.created": {
13
+ configSchema: AIRTABLE_TRIGGER_CONFIG_SCHEMA,
14
+ eventSchema: AIRTABLE_RECORD_CREATED_EVENT_SCHEMA,
15
+ },
16
+ "airtable.record.deleted": {
17
+ configSchema: AIRTABLE_TRIGGER_CONFIG_SCHEMA,
18
+ eventSchema: AIRTABLE_RECORD_DELETED_EVENT_SCHEMA,
19
+ },
20
+ "airtable.record.movedIntoView": {
21
+ configSchema: AIRTABLE_TRIGGER_CONFIG_SCHEMA,
22
+ eventSchema: AIRTABLE_RECORD_MOVED_INTO_VIEW_EVENT_SCHEMA,
23
+ },
24
+ "airtable.record.movedOutOfView": {
25
+ configSchema: AIRTABLE_TRIGGER_CONFIG_SCHEMA,
26
+ eventSchema: AIRTABLE_RECORD_MOVED_OUT_OF_VIEW_EVENT_SCHEMA,
27
+ },
28
+ "airtable.record.updated": {
29
+ configSchema: AIRTABLE_TRIGGER_CONFIG_SCHEMA,
30
+ eventSchema: AIRTABLE_RECORD_UPDATED_EVENT_SCHEMA,
31
+ },
32
+ };