@slates/proto 1.0.0-rc.2 → 1.0.0-rc.21
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.
- package/dist/index.cjs +1632 -2
- package/dist/index.d.cts +5397 -0
- package/dist/index.d.ts +5397 -4
- package/dist/index.module.js +1480 -2
- package/package.json +9 -8
- package/src/handler/provider.test.ts +121 -0
- package/src/handler/provider.ts +268 -27
- package/src/index.ts +1 -0
- package/src/messages/action.ts +51 -154
- package/src/messages/adapter.ts +72 -0
- package/src/messages/auth.ts +21 -13
- package/src/messages/config.ts +12 -3
- package/src/messages/controlFlow.ts +2 -1
- package/src/messages/hub.ts +92 -0
- package/src/messages/identify.ts +10 -3
- package/src/messages/index.ts +68 -14
- package/src/messages/legacyTrigger.ts +149 -0
- package/src/messages/tracing.ts +38 -0
- package/src/messages/triggerGroup.ts +383 -0
- package/src/messages/webhookErrors.ts +21 -0
- package/src/types/action.ts +25 -13
- package/src/types/adapter.ts +15 -0
- package/src/types/authMethod.ts +19 -1
- package/src/types/index.ts +2 -0
- package/src/types/triggerGroup.ts +49 -0
- package/src/version.ts +3 -0
- package/dist/handler/index.d.ts +0 -2
- package/dist/handler/index.d.ts.map +0 -1
- package/dist/handler/provider.d.ts +0 -46
- package/dist/handler/provider.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.module.js.map +0 -1
- package/dist/index.umd.js +0 -2
- package/dist/index.umd.js.map +0 -1
- package/dist/messages/action.d.ts +0 -474
- package/dist/messages/action.d.ts.map +0 -1
- package/dist/messages/auth.d.ts +0 -496
- package/dist/messages/auth.d.ts.map +0 -1
- package/dist/messages/config.d.ts +0 -138
- package/dist/messages/config.d.ts.map +0 -1
- package/dist/messages/controlFlow.d.ts +0 -64
- package/dist/messages/controlFlow.d.ts.map +0 -1
- package/dist/messages/identify.d.ts +0 -48
- package/dist/messages/identify.d.ts.map +0 -1
- package/dist/messages/index.d.ts +0 -556
- package/dist/messages/index.d.ts.map +0 -1
- package/dist/messages/log.d.ts +0 -27
- package/dist/messages/log.d.ts.map +0 -1
- package/dist/types/action.d.ts +0 -98
- package/dist/types/action.d.ts.map +0 -1
- package/dist/types/authMethod.d.ts +0 -29
- package/dist/types/authMethod.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/participant.d.ts +0 -10
- package/dist/types/participant.d.ts.map +0 -1
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
slatesTriggerGroup,
|
|
4
|
+
slatesTriggerRoutingMatcher,
|
|
5
|
+
slatesWebhookTarget
|
|
6
|
+
} from '../types';
|
|
7
|
+
import { slatesWebhookHttpResponse } from './action';
|
|
8
|
+
import { withRequestTraces } from './tracing';
|
|
9
|
+
|
|
10
|
+
let slatesTriggerGroupWebhookEvent = z.object({
|
|
11
|
+
matchers: z.array(slatesTriggerRoutingMatcher),
|
|
12
|
+
payload: z.record(z.string(), z.any()),
|
|
13
|
+
idempotencyKey: z.string().optional(),
|
|
14
|
+
triggerIds: z.array(z.string())
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
let slatesTriggerGroupPollEvent = z.object({
|
|
18
|
+
payload: z.record(z.string(), z.any()),
|
|
19
|
+
idempotencyKey: z.string().optional(),
|
|
20
|
+
triggerIds: z.array(z.string())
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* List Trigger Groups
|
|
25
|
+
*/
|
|
26
|
+
export let slatesMessageTriggerGroupsListRequest = z.object({
|
|
27
|
+
jsonrpc: z.literal('2.0'),
|
|
28
|
+
method: z.literal('slates/trigger_groups.list'),
|
|
29
|
+
id: z.string(),
|
|
30
|
+
params: z.object({})
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
export type SlatesMessageTriggerGroupsListRequest = z.infer<
|
|
34
|
+
typeof slatesMessageTriggerGroupsListRequest
|
|
35
|
+
>;
|
|
36
|
+
|
|
37
|
+
export let slatesMessageTriggerGroupsListResponse = z.object({
|
|
38
|
+
jsonrpc: z.literal('2.0'),
|
|
39
|
+
id: z.string(),
|
|
40
|
+
result: z.object({
|
|
41
|
+
triggerGroups: z.array(slatesTriggerGroup)
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export type SlatesMessageTriggerGroupsListResponse = z.infer<
|
|
46
|
+
typeof slatesMessageTriggerGroupsListResponse
|
|
47
|
+
>;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get Trigger Group
|
|
51
|
+
*/
|
|
52
|
+
export let slatesMessageTriggerGroupGetRequest = z.object({
|
|
53
|
+
jsonrpc: z.literal('2.0'),
|
|
54
|
+
method: z.literal('slates/trigger_group.get'),
|
|
55
|
+
id: z.string(),
|
|
56
|
+
params: z.object({
|
|
57
|
+
triggerGroupId: z.string()
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
export type SlatesMessageTriggerGroupGetRequest = z.infer<
|
|
62
|
+
typeof slatesMessageTriggerGroupGetRequest
|
|
63
|
+
>;
|
|
64
|
+
|
|
65
|
+
export let slatesMessageTriggerGroupGetResponse = z.object({
|
|
66
|
+
jsonrpc: z.literal('2.0'),
|
|
67
|
+
id: z.string(),
|
|
68
|
+
result: z.object({
|
|
69
|
+
triggerGroup: slatesTriggerGroup
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
export type SlatesMessageTriggerGroupGetResponse = z.infer<
|
|
74
|
+
typeof slatesMessageTriggerGroupGetResponse
|
|
75
|
+
>;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* List Webhook Targets
|
|
79
|
+
*/
|
|
80
|
+
export let slatesMessageTriggerGroupWebhookTargetsListRequest = z.object({
|
|
81
|
+
jsonrpc: z.literal('2.0'),
|
|
82
|
+
method: z.literal('slates/trigger_group.webhook.targets_list'),
|
|
83
|
+
id: z.string(),
|
|
84
|
+
params: z.object({
|
|
85
|
+
triggerGroupId: z.string(),
|
|
86
|
+
pageToken: z.any().nullable().optional()
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export type SlatesMessageTriggerGroupWebhookTargetsListRequest = z.infer<
|
|
91
|
+
typeof slatesMessageTriggerGroupWebhookTargetsListRequest
|
|
92
|
+
>;
|
|
93
|
+
|
|
94
|
+
export let slatesMessageTriggerGroupWebhookTargetsListResponse = z.object({
|
|
95
|
+
jsonrpc: z.literal('2.0'),
|
|
96
|
+
id: z.string(),
|
|
97
|
+
result: withRequestTraces({
|
|
98
|
+
targets: z.array(slatesWebhookTarget),
|
|
99
|
+
nextPageToken: z.any().nullable(),
|
|
100
|
+
isPartial: z.boolean().optional()
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
export type SlatesMessageTriggerGroupWebhookTargetsListResponse = z.infer<
|
|
105
|
+
typeof slatesMessageTriggerGroupWebhookTargetsListResponse
|
|
106
|
+
>;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Register Webhook
|
|
110
|
+
*/
|
|
111
|
+
export let slatesMessageTriggerGroupWebhookRegisterRequest = z.object({
|
|
112
|
+
jsonrpc: z.literal('2.0'),
|
|
113
|
+
method: z.literal('slates/trigger_group.webhook.register'),
|
|
114
|
+
id: z.string(),
|
|
115
|
+
params: z.object({
|
|
116
|
+
triggerGroupId: z.string(),
|
|
117
|
+
webhookTargetIdentifier: z.string(),
|
|
118
|
+
webhookTargetPayload: z.any(),
|
|
119
|
+
webhookUrl: z.string()
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
export type SlatesMessageTriggerGroupWebhookRegisterRequest = z.infer<
|
|
124
|
+
typeof slatesMessageTriggerGroupWebhookRegisterRequest
|
|
125
|
+
>;
|
|
126
|
+
|
|
127
|
+
export let slatesMessageTriggerGroupWebhookRegisterResponse = z.object({
|
|
128
|
+
jsonrpc: z.literal('2.0'),
|
|
129
|
+
id: z.string(),
|
|
130
|
+
result: withRequestTraces({
|
|
131
|
+
webhookRegistrationIdentifier: z.string(),
|
|
132
|
+
webhookRegistrationPayload: z.any()
|
|
133
|
+
})
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
export type SlatesMessageTriggerGroupWebhookRegisterResponse = z.infer<
|
|
137
|
+
typeof slatesMessageTriggerGroupWebhookRegisterResponse
|
|
138
|
+
>;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Unregister Webhook
|
|
142
|
+
*/
|
|
143
|
+
export let slatesMessageTriggerGroupWebhookUnregisterRequest = z.object({
|
|
144
|
+
jsonrpc: z.literal('2.0'),
|
|
145
|
+
method: z.literal('slates/trigger_group.webhook.unregister'),
|
|
146
|
+
id: z.string(),
|
|
147
|
+
params: z.object({
|
|
148
|
+
triggerGroupId: z.string(),
|
|
149
|
+
webhookRegistrationIdentifier: z.string(),
|
|
150
|
+
webhookRegistrationPayload: z.any()
|
|
151
|
+
})
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
export type SlatesMessageTriggerGroupWebhookUnregisterRequest = z.infer<
|
|
155
|
+
typeof slatesMessageTriggerGroupWebhookUnregisterRequest
|
|
156
|
+
>;
|
|
157
|
+
|
|
158
|
+
export let slatesMessageTriggerGroupWebhookUnregisterResponse = z.object({
|
|
159
|
+
jsonrpc: z.literal('2.0'),
|
|
160
|
+
id: z.string(),
|
|
161
|
+
result: withRequestTraces({})
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
export type SlatesMessageTriggerGroupWebhookUnregisterResponse = z.infer<
|
|
165
|
+
typeof slatesMessageTriggerGroupWebhookUnregisterResponse
|
|
166
|
+
>;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Manual Webhook Setup
|
|
170
|
+
*/
|
|
171
|
+
export let slatesMessageTriggerGroupWebhookManualSetupRequest = z.object({
|
|
172
|
+
jsonrpc: z.literal('2.0'),
|
|
173
|
+
method: z.literal('slates/trigger_group.webhook.manual_setup'),
|
|
174
|
+
id: z.string(),
|
|
175
|
+
params: z.object({
|
|
176
|
+
triggerGroupId: z.string(),
|
|
177
|
+
webhookUrl: z.string()
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
export type SlatesMessageTriggerGroupWebhookManualSetupRequest = z.infer<
|
|
182
|
+
typeof slatesMessageTriggerGroupWebhookManualSetupRequest
|
|
183
|
+
>;
|
|
184
|
+
|
|
185
|
+
export let slatesMessageTriggerGroupWebhookManualSetupResponse = z.object({
|
|
186
|
+
jsonrpc: z.literal('2.0'),
|
|
187
|
+
id: z.string(),
|
|
188
|
+
result: z.object({
|
|
189
|
+
webhookSetupDocument: z.string(),
|
|
190
|
+
partialWebhookRegistrationPayload: z.any()
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
export type SlatesMessageTriggerGroupWebhookManualSetupResponse = z.infer<
|
|
195
|
+
typeof slatesMessageTriggerGroupWebhookManualSetupResponse
|
|
196
|
+
>;
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Manual Webhook Finish
|
|
200
|
+
*/
|
|
201
|
+
export let slatesMessageTriggerGroupWebhookManualFinishRequest = z.object({
|
|
202
|
+
jsonrpc: z.literal('2.0'),
|
|
203
|
+
method: z.literal('slates/trigger_group.webhook.manual_finish'),
|
|
204
|
+
id: z.string(),
|
|
205
|
+
params: z.object({
|
|
206
|
+
triggerGroupId: z.string(),
|
|
207
|
+
webhookUrl: z.string(),
|
|
208
|
+
partialWebhookRegistrationPayload: z.any(),
|
|
209
|
+
userWebhookRegistrationPayload: z.any()
|
|
210
|
+
})
|
|
211
|
+
});
|
|
212
|
+
|
|
213
|
+
export type SlatesMessageTriggerGroupWebhookManualFinishRequest = z.infer<
|
|
214
|
+
typeof slatesMessageTriggerGroupWebhookManualFinishRequest
|
|
215
|
+
>;
|
|
216
|
+
|
|
217
|
+
export let slatesMessageTriggerGroupWebhookManualFinishResponse = z.object({
|
|
218
|
+
jsonrpc: z.literal('2.0'),
|
|
219
|
+
id: z.string(),
|
|
220
|
+
result: withRequestTraces({
|
|
221
|
+
webhookRegistrationPayload: z.any()
|
|
222
|
+
})
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
export type SlatesMessageTriggerGroupWebhookManualFinishResponse = z.infer<
|
|
226
|
+
typeof slatesMessageTriggerGroupWebhookManualFinishResponse
|
|
227
|
+
>;
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Process Webhook Request
|
|
231
|
+
*/
|
|
232
|
+
export let slatesMessageTriggerGroupWebhookProcessRequest = z.object({
|
|
233
|
+
jsonrpc: z.literal('2.0'),
|
|
234
|
+
method: z.literal('slates/trigger_group.webhook.process'),
|
|
235
|
+
id: z.string(),
|
|
236
|
+
params: z.object({
|
|
237
|
+
triggerGroupId: z.string(),
|
|
238
|
+
url: z.string(),
|
|
239
|
+
method: z.string(),
|
|
240
|
+
headers: z.record(z.string(), z.string()),
|
|
241
|
+
body: z
|
|
242
|
+
.object({
|
|
243
|
+
encoding: z.literal('base64'),
|
|
244
|
+
content: z.string()
|
|
245
|
+
})
|
|
246
|
+
.nullable(),
|
|
247
|
+
webhookRegistrationPayload: z.any()
|
|
248
|
+
})
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
export type SlatesMessageTriggerGroupWebhookProcessRequest = z.infer<
|
|
252
|
+
typeof slatesMessageTriggerGroupWebhookProcessRequest
|
|
253
|
+
>;
|
|
254
|
+
|
|
255
|
+
export let slatesMessageTriggerGroupWebhookProcessResponse = z.object({
|
|
256
|
+
jsonrpc: z.literal('2.0'),
|
|
257
|
+
id: z.string(),
|
|
258
|
+
result: withRequestTraces({
|
|
259
|
+
events: z.array(slatesTriggerGroupWebhookEvent),
|
|
260
|
+
response: slatesWebhookHttpResponse.nullable().optional()
|
|
261
|
+
})
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
export type SlatesMessageTriggerGroupWebhookProcessResponse = z.infer<
|
|
265
|
+
typeof slatesMessageTriggerGroupWebhookProcessResponse
|
|
266
|
+
>;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Get Routing Matchers
|
|
270
|
+
*/
|
|
271
|
+
export let slatesMessageTriggerGroupRoutingMatchersGetRequest = z.object({
|
|
272
|
+
jsonrpc: z.literal('2.0'),
|
|
273
|
+
method: z.literal('slates/trigger_group.routing_matchers.get'),
|
|
274
|
+
id: z.string(),
|
|
275
|
+
params: z.object({
|
|
276
|
+
triggerGroupId: z.string()
|
|
277
|
+
})
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
export type SlatesMessageTriggerGroupRoutingMatchersGetRequest = z.infer<
|
|
281
|
+
typeof slatesMessageTriggerGroupRoutingMatchersGetRequest
|
|
282
|
+
>;
|
|
283
|
+
|
|
284
|
+
export let slatesMessageTriggerGroupRoutingMatchersGetResponse = z.object({
|
|
285
|
+
jsonrpc: z.literal('2.0'),
|
|
286
|
+
id: z.string(),
|
|
287
|
+
result: withRequestTraces({
|
|
288
|
+
matchers: z.array(slatesTriggerRoutingMatcher)
|
|
289
|
+
})
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
export type SlatesMessageTriggerGroupRoutingMatchersGetResponse = z.infer<
|
|
293
|
+
typeof slatesMessageTriggerGroupRoutingMatchersGetResponse
|
|
294
|
+
>;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Poll
|
|
298
|
+
*/
|
|
299
|
+
export let slatesMessageTriggerGroupPollingPollRequest = z.object({
|
|
300
|
+
jsonrpc: z.literal('2.0'),
|
|
301
|
+
method: z.literal('slates/trigger_group.polling.poll'),
|
|
302
|
+
id: z.string(),
|
|
303
|
+
params: z.object({
|
|
304
|
+
triggerGroupId: z.string(),
|
|
305
|
+
state: z.any().nullable()
|
|
306
|
+
})
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
export type SlatesMessageTriggerGroupPollingPollRequest = z.infer<
|
|
310
|
+
typeof slatesMessageTriggerGroupPollingPollRequest
|
|
311
|
+
>;
|
|
312
|
+
|
|
313
|
+
export let slatesMessageTriggerGroupPollingPollResponse = z.object({
|
|
314
|
+
jsonrpc: z.literal('2.0'),
|
|
315
|
+
id: z.string(),
|
|
316
|
+
result: withRequestTraces({
|
|
317
|
+
updatedState: z.any().nullable().optional(),
|
|
318
|
+
events: z.array(slatesTriggerGroupPollEvent)
|
|
319
|
+
})
|
|
320
|
+
});
|
|
321
|
+
|
|
322
|
+
export type SlatesMessageTriggerGroupPollingPollResponse = z.infer<
|
|
323
|
+
typeof slatesMessageTriggerGroupPollingPollResponse
|
|
324
|
+
>;
|
|
325
|
+
|
|
326
|
+
export type SlatesTriggerGroupRequests =
|
|
327
|
+
| SlatesMessageTriggerGroupsListRequest
|
|
328
|
+
| SlatesMessageTriggerGroupGetRequest
|
|
329
|
+
| SlatesMessageTriggerGroupWebhookTargetsListRequest
|
|
330
|
+
| SlatesMessageTriggerGroupWebhookRegisterRequest
|
|
331
|
+
| SlatesMessageTriggerGroupWebhookUnregisterRequest
|
|
332
|
+
| SlatesMessageTriggerGroupWebhookManualSetupRequest
|
|
333
|
+
| SlatesMessageTriggerGroupWebhookManualFinishRequest
|
|
334
|
+
| SlatesMessageTriggerGroupWebhookProcessRequest
|
|
335
|
+
| SlatesMessageTriggerGroupRoutingMatchersGetRequest
|
|
336
|
+
| SlatesMessageTriggerGroupPollingPollRequest;
|
|
337
|
+
|
|
338
|
+
export type SlatesTriggerGroupResponses =
|
|
339
|
+
| SlatesMessageTriggerGroupsListResponse
|
|
340
|
+
| SlatesMessageTriggerGroupGetResponse
|
|
341
|
+
| SlatesMessageTriggerGroupWebhookTargetsListResponse
|
|
342
|
+
| SlatesMessageTriggerGroupWebhookRegisterResponse
|
|
343
|
+
| SlatesMessageTriggerGroupWebhookUnregisterResponse
|
|
344
|
+
| SlatesMessageTriggerGroupWebhookManualSetupResponse
|
|
345
|
+
| SlatesMessageTriggerGroupWebhookManualFinishResponse
|
|
346
|
+
| SlatesMessageTriggerGroupWebhookProcessResponse
|
|
347
|
+
| SlatesMessageTriggerGroupRoutingMatchersGetResponse
|
|
348
|
+
| SlatesMessageTriggerGroupPollingPollResponse;
|
|
349
|
+
|
|
350
|
+
export let slatesTriggerGroupResponsesByMethod = {
|
|
351
|
+
'slates/trigger_groups.list': slatesMessageTriggerGroupsListResponse,
|
|
352
|
+
'slates/trigger_group.get': slatesMessageTriggerGroupGetResponse,
|
|
353
|
+
'slates/trigger_group.webhook.targets_list':
|
|
354
|
+
slatesMessageTriggerGroupWebhookTargetsListResponse,
|
|
355
|
+
'slates/trigger_group.webhook.register': slatesMessageTriggerGroupWebhookRegisterResponse,
|
|
356
|
+
'slates/trigger_group.webhook.unregister':
|
|
357
|
+
slatesMessageTriggerGroupWebhookUnregisterResponse,
|
|
358
|
+
'slates/trigger_group.webhook.manual_setup':
|
|
359
|
+
slatesMessageTriggerGroupWebhookManualSetupResponse,
|
|
360
|
+
'slates/trigger_group.webhook.manual_finish':
|
|
361
|
+
slatesMessageTriggerGroupWebhookManualFinishResponse,
|
|
362
|
+
'slates/trigger_group.webhook.process': slatesMessageTriggerGroupWebhookProcessResponse,
|
|
363
|
+
'slates/trigger_group.routing_matchers.get':
|
|
364
|
+
slatesMessageTriggerGroupRoutingMatchersGetResponse,
|
|
365
|
+
'slates/trigger_group.polling.poll': slatesMessageTriggerGroupPollingPollResponse
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
export let slatesTriggerGroupRequestsByMethod = {
|
|
369
|
+
'slates/trigger_groups.list': slatesMessageTriggerGroupsListRequest,
|
|
370
|
+
'slates/trigger_group.get': slatesMessageTriggerGroupGetRequest,
|
|
371
|
+
'slates/trigger_group.webhook.targets_list':
|
|
372
|
+
slatesMessageTriggerGroupWebhookTargetsListRequest,
|
|
373
|
+
'slates/trigger_group.webhook.register': slatesMessageTriggerGroupWebhookRegisterRequest,
|
|
374
|
+
'slates/trigger_group.webhook.unregister': slatesMessageTriggerGroupWebhookUnregisterRequest,
|
|
375
|
+
'slates/trigger_group.webhook.manual_setup':
|
|
376
|
+
slatesMessageTriggerGroupWebhookManualSetupRequest,
|
|
377
|
+
'slates/trigger_group.webhook.manual_finish':
|
|
378
|
+
slatesMessageTriggerGroupWebhookManualFinishRequest,
|
|
379
|
+
'slates/trigger_group.webhook.process': slatesMessageTriggerGroupWebhookProcessRequest,
|
|
380
|
+
'slates/trigger_group.routing_matchers.get':
|
|
381
|
+
slatesMessageTriggerGroupRoutingMatchersGetRequest,
|
|
382
|
+
'slates/trigger_group.polling.poll': slatesMessageTriggerGroupPollingPollRequest
|
|
383
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export let SLATES_WEBHOOK_ERROR_CODES = {
|
|
2
|
+
INVALID_SIGNATURE: 'webhook.invalid_signature',
|
|
3
|
+
INVALID_PAYLOAD: 'webhook.invalid_payload',
|
|
4
|
+
UNSUPPORTED_EVENT: 'webhook.unsupported_event',
|
|
5
|
+
DUPLICATE_DELIVERY: 'webhook.duplicate_delivery',
|
|
6
|
+
UNAUTHORIZED: 'webhook.unauthorized'
|
|
7
|
+
} as const;
|
|
8
|
+
|
|
9
|
+
export type SlatesWebhookErrorCode =
|
|
10
|
+
(typeof SLATES_WEBHOOK_ERROR_CODES)[keyof typeof SLATES_WEBHOOK_ERROR_CODES];
|
|
11
|
+
|
|
12
|
+
export let SLATES_WEBHOOK_ERROR_DEFAULTS: Record<
|
|
13
|
+
SlatesWebhookErrorCode,
|
|
14
|
+
{ status: number; retryable: boolean }
|
|
15
|
+
> = {
|
|
16
|
+
[SLATES_WEBHOOK_ERROR_CODES.INVALID_SIGNATURE]: { status: 401, retryable: false },
|
|
17
|
+
[SLATES_WEBHOOK_ERROR_CODES.INVALID_PAYLOAD]: { status: 400, retryable: false },
|
|
18
|
+
[SLATES_WEBHOOK_ERROR_CODES.UNSUPPORTED_EVENT]: { status: 400, retryable: false },
|
|
19
|
+
[SLATES_WEBHOOK_ERROR_CODES.DUPLICATE_DELIVERY]: { status: 200, retryable: false },
|
|
20
|
+
[SLATES_WEBHOOK_ERROR_CODES.UNAUTHORIZED]: { status: 401, retryable: false }
|
|
21
|
+
};
|
package/src/types/action.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
|
|
3
|
+
export let slatesActionScopeClause = z.object({
|
|
4
|
+
OR: z.array(z.string()).min(1)
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
export let slatesActionScopes = z.object({
|
|
8
|
+
AND: z.array(slatesActionScopeClause).min(1)
|
|
9
|
+
});
|
|
10
|
+
|
|
3
11
|
export let slatesActionBase = z.object({
|
|
4
12
|
id: z.string(),
|
|
5
13
|
|
|
@@ -14,31 +22,34 @@ export let slatesActionBase = z.object({
|
|
|
14
22
|
})
|
|
15
23
|
.optional(),
|
|
16
24
|
metadata: z.record(z.string(), z.any()).optional(),
|
|
25
|
+
scopes: slatesActionScopes.optional(),
|
|
26
|
+
authMethods: z.array(z.string()).optional(),
|
|
17
27
|
|
|
18
28
|
inputSchema: z.record(z.string(), z.any()),
|
|
19
|
-
outputSchema: z.record(z.string(), z.any())
|
|
29
|
+
outputSchema: z.record(z.string(), z.any()),
|
|
30
|
+
|
|
31
|
+
docs: z.array(
|
|
32
|
+
z.object({
|
|
33
|
+
type: z.literal('docs.action.general').optional(),
|
|
34
|
+
name: z.string(),
|
|
35
|
+
url: z.string()
|
|
36
|
+
})
|
|
37
|
+
),
|
|
38
|
+
|
|
39
|
+
adapter: z.optional(z.nullable(z.string()))
|
|
20
40
|
});
|
|
21
41
|
|
|
22
42
|
export let slatesActionTool = slatesActionBase.extend({
|
|
23
43
|
type: z.literal('action.tool'),
|
|
24
|
-
capabilities: z.object({})
|
|
44
|
+
capabilities: z.object({}),
|
|
45
|
+
isPublic: z.boolean()
|
|
25
46
|
});
|
|
26
47
|
|
|
27
48
|
export let slatesActionTrigger = slatesActionBase.extend({
|
|
28
49
|
type: z.literal('action.trigger'),
|
|
29
50
|
capabilities: z.object({}),
|
|
30
51
|
|
|
31
|
-
|
|
32
|
-
z.object({
|
|
33
|
-
type: z.literal('polling'),
|
|
34
|
-
intervalSeconds: z.number().min(15)
|
|
35
|
-
}),
|
|
36
|
-
z.object({
|
|
37
|
-
type: z.literal('webhook'),
|
|
38
|
-
autoRegistration: z.boolean(),
|
|
39
|
-
autoUnregistration: z.boolean()
|
|
40
|
-
})
|
|
41
|
-
])
|
|
52
|
+
triggerGroupId: z.string()
|
|
42
53
|
});
|
|
43
54
|
|
|
44
55
|
export let slatesAction = z.union([slatesActionTool, slatesActionTrigger]);
|
|
@@ -46,3 +57,4 @@ export let slatesAction = z.union([slatesActionTool, slatesActionTrigger]);
|
|
|
46
57
|
export type SlatesAction = z.infer<typeof slatesAction>;
|
|
47
58
|
export type SlatesActionTool = z.infer<typeof slatesActionTool>;
|
|
48
59
|
export type SlatesActionTrigger = z.infer<typeof slatesActionTrigger>;
|
|
60
|
+
export type SlatesActionScopes = z.infer<typeof slatesActionScopes>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
export let slatesAdapter = z.object({
|
|
4
|
+
id: z.string(),
|
|
5
|
+
name: z.string(),
|
|
6
|
+
|
|
7
|
+
capabilities: z.array(
|
|
8
|
+
z.object({
|
|
9
|
+
id: z.string(),
|
|
10
|
+
value: z.any()
|
|
11
|
+
})
|
|
12
|
+
)
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export type SlateAdapter = z.infer<typeof slatesAdapter>;
|
package/src/types/authMethod.ts
CHANGED
|
@@ -21,6 +21,8 @@ export let slatesAuthenticationMethod = z.object({
|
|
|
21
21
|
)
|
|
22
22
|
.optional(),
|
|
23
23
|
|
|
24
|
+
adapters: z.array(z.string()).optional(),
|
|
25
|
+
|
|
24
26
|
inputSchema: z.record(z.string(), z.any()),
|
|
25
27
|
outputSchema: z.record(z.string(), z.any()),
|
|
26
28
|
|
|
@@ -29,7 +31,23 @@ export let slatesAuthenticationMethod = z.object({
|
|
|
29
31
|
handleChangedInput: z.object({ enabled: z.boolean() }).optional(),
|
|
30
32
|
handleTokenRefresh: z.object({ enabled: z.boolean() }).optional(),
|
|
31
33
|
getProfile: z.object({ enabled: z.boolean() }).optional()
|
|
32
|
-
})
|
|
34
|
+
}),
|
|
35
|
+
|
|
36
|
+
docs: z.array(
|
|
37
|
+
z.object({
|
|
38
|
+
type: z
|
|
39
|
+
.union([
|
|
40
|
+
z.literal('docs.auth.oauth'),
|
|
41
|
+
z.literal('docs.auth.oauth_scopes'),
|
|
42
|
+
z.literal('docs.auth.token'),
|
|
43
|
+
z.literal('docs.auth.service_account'),
|
|
44
|
+
z.literal('docs.auth.custom')
|
|
45
|
+
])
|
|
46
|
+
.optional(),
|
|
47
|
+
name: z.string(),
|
|
48
|
+
url: z.string()
|
|
49
|
+
})
|
|
50
|
+
)
|
|
33
51
|
});
|
|
34
52
|
|
|
35
53
|
export type SlateAuthenticationMethod = z.infer<typeof slatesAuthenticationMethod>;
|
package/src/types/index.ts
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
|
|
3
|
+
export let slatesTriggerRoutingMatcher = z.record(z.string(), z.any());
|
|
4
|
+
|
|
5
|
+
export let slatesTriggerGroupInvocation = z.union([
|
|
6
|
+
z.object({
|
|
7
|
+
type: z.literal('polling'),
|
|
8
|
+
intervalSeconds: z.number().min(60 * 10)
|
|
9
|
+
}),
|
|
10
|
+
z.object({
|
|
11
|
+
type: z.literal('webhook'),
|
|
12
|
+
registration: z.union([
|
|
13
|
+
z.object({
|
|
14
|
+
mode: z.literal('auto')
|
|
15
|
+
}),
|
|
16
|
+
z.object({
|
|
17
|
+
mode: z.literal('manual'),
|
|
18
|
+
userConfigSchema: z.record(z.string(), z.any()),
|
|
19
|
+
fullConfigSchema: z.record(z.string(), z.any())
|
|
20
|
+
})
|
|
21
|
+
])
|
|
22
|
+
})
|
|
23
|
+
]);
|
|
24
|
+
|
|
25
|
+
export let slatesTriggerGroup = z.object({
|
|
26
|
+
id: z.string(),
|
|
27
|
+
name: z.string(),
|
|
28
|
+
description: z.string().optional(),
|
|
29
|
+
metadata: z.record(z.string(), z.any()).optional(),
|
|
30
|
+
|
|
31
|
+
invocation: slatesTriggerGroupInvocation
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export let slatesWebhookTargetOwnership = z.enum(['single_user', 'multi_user']);
|
|
35
|
+
|
|
36
|
+
export let slatesWebhookTarget = z.object({
|
|
37
|
+
webhookTargetIdentifier: z.string(),
|
|
38
|
+
name: z.string(),
|
|
39
|
+
description: z.string().optional(),
|
|
40
|
+
metadata: z.record(z.string(), z.any()),
|
|
41
|
+
webhookTargetPayload: z.any(),
|
|
42
|
+
targetOwnership: slatesWebhookTargetOwnership
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export type SlatesTriggerRoutingMatcher = z.infer<typeof slatesTriggerRoutingMatcher>;
|
|
46
|
+
export type SlatesTriggerGroupInvocation = z.infer<typeof slatesTriggerGroupInvocation>;
|
|
47
|
+
export type SlatesTriggerGroup = z.infer<typeof slatesTriggerGroup>;
|
|
48
|
+
export type SlatesWebhookTargetOwnership = z.infer<typeof slatesWebhookTargetOwnership>;
|
|
49
|
+
export type SlatesWebhookTarget = z.infer<typeof slatesWebhookTarget>;
|
package/src/version.ts
ADDED
package/dist/handler/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handler/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { SlatesNotifications, SlatesRequests, SlatesResponsesByMethod } from '../messages';
|
|
2
|
-
export declare class SlatesProviderProtoHandlerManager {
|
|
3
|
-
#private;
|
|
4
|
-
onNotification<Method extends SlatesNotifications['method']>(method: Method, handler: (message: Extract<SlatesNotifications, {
|
|
5
|
-
method: Method;
|
|
6
|
-
}>) => void): void;
|
|
7
|
-
onRequest<Method extends SlatesRequests['method']>(method: Method, cb: (message: Extract<SlatesRequests, {
|
|
8
|
-
method: Method;
|
|
9
|
-
}>) => Promise<SlatesResponsesByMethod[Method]['result']>): void;
|
|
10
|
-
private _handleInput;
|
|
11
|
-
static handleInput(manager: SlatesProviderProtoHandlerManager, input: SlatesNotifications | SlatesRequests): Promise<{
|
|
12
|
-
jsonrpc: "2.0";
|
|
13
|
-
id: any;
|
|
14
|
-
error: import("@lowerdeck/error").ErrorRecord<"bad_request", 400>;
|
|
15
|
-
result?: undefined;
|
|
16
|
-
} | {
|
|
17
|
-
jsonrpc: "2.0";
|
|
18
|
-
id: any;
|
|
19
|
-
error: import("@lowerdeck/error").ErrorRecord<string, number>;
|
|
20
|
-
result?: undefined;
|
|
21
|
-
} | {
|
|
22
|
-
jsonrpc: "2.0";
|
|
23
|
-
id: any;
|
|
24
|
-
error: import("@lowerdeck/error").ErrorRecord<"invalid_data", 400>;
|
|
25
|
-
result?: undefined;
|
|
26
|
-
} | {
|
|
27
|
-
jsonrpc: "2.0";
|
|
28
|
-
id: any;
|
|
29
|
-
result: any;
|
|
30
|
-
error?: undefined;
|
|
31
|
-
} | {
|
|
32
|
-
jsonrpc: "2.0";
|
|
33
|
-
id: any;
|
|
34
|
-
error: import("@lowerdeck/error").ServiceError<any>;
|
|
35
|
-
result?: undefined;
|
|
36
|
-
} | {
|
|
37
|
-
jsonrpc: "2.0";
|
|
38
|
-
id: any;
|
|
39
|
-
error: import("@lowerdeck/error").ErrorRecord<"internal_server_error", 500>;
|
|
40
|
-
result?: undefined;
|
|
41
|
-
} | undefined>;
|
|
42
|
-
}
|
|
43
|
-
export declare let createSlatesProviderProtoHandler: (cb: (manager: SlatesProviderProtoHandlerManager) => Promise<void>) => {
|
|
44
|
-
run: () => Promise<SlatesProviderProtoHandlerManager>;
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/handler/provider.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,mBAAmB,EAEnB,cAAc,EAEd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB,qBAAa,iCAAiC;;IAU5C,cAAc,CAAC,MAAM,SAAS,mBAAmB,CAAC,QAAQ,CAAC,EACzD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI;IAc9E,SAAS,CAAC,MAAM,SAAS,cAAc,CAAC,QAAQ,CAAC,EAC/C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,CACF,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,KACjD,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAc3C,YAAY;WAmFb,WAAW,CACtB,OAAO,EAAE,iCAAiC,EAC1C,KAAK,EAAE,mBAAmB,GAAG,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9C;AAED,eAAO,IAAI,gCAAgC,GACzC,IAAI,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC;;CASjE,CAAC"}
|