@slates/proto 1.0.0-rc.2 → 1.0.0-rc.20

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 (57) hide show
  1. package/dist/index.cjs +1631 -2
  2. package/dist/index.d.cts +5394 -0
  3. package/dist/index.d.ts +5394 -4
  4. package/dist/index.module.js +1479 -2
  5. package/package.json +8 -7
  6. package/src/handler/provider.test.ts +121 -0
  7. package/src/handler/provider.ts +268 -27
  8. package/src/index.ts +1 -0
  9. package/src/messages/action.ts +51 -154
  10. package/src/messages/adapter.ts +72 -0
  11. package/src/messages/auth.ts +21 -13
  12. package/src/messages/config.ts +12 -3
  13. package/src/messages/controlFlow.ts +2 -1
  14. package/src/messages/hub.ts +92 -0
  15. package/src/messages/identify.ts +10 -3
  16. package/src/messages/index.ts +68 -14
  17. package/src/messages/legacyTrigger.ts +149 -0
  18. package/src/messages/tracing.ts +38 -0
  19. package/src/messages/triggerGroup.ts +382 -0
  20. package/src/messages/webhookErrors.ts +21 -0
  21. package/src/types/action.ts +25 -13
  22. package/src/types/adapter.ts +15 -0
  23. package/src/types/authMethod.ts +19 -1
  24. package/src/types/index.ts +2 -0
  25. package/src/types/triggerGroup.ts +49 -0
  26. package/src/version.ts +3 -0
  27. package/dist/handler/index.d.ts +0 -2
  28. package/dist/handler/index.d.ts.map +0 -1
  29. package/dist/handler/provider.d.ts +0 -46
  30. package/dist/handler/provider.d.ts.map +0 -1
  31. package/dist/index.cjs.map +0 -1
  32. package/dist/index.d.ts.map +0 -1
  33. package/dist/index.module.js.map +0 -1
  34. package/dist/index.umd.js +0 -2
  35. package/dist/index.umd.js.map +0 -1
  36. package/dist/messages/action.d.ts +0 -474
  37. package/dist/messages/action.d.ts.map +0 -1
  38. package/dist/messages/auth.d.ts +0 -496
  39. package/dist/messages/auth.d.ts.map +0 -1
  40. package/dist/messages/config.d.ts +0 -138
  41. package/dist/messages/config.d.ts.map +0 -1
  42. package/dist/messages/controlFlow.d.ts +0 -64
  43. package/dist/messages/controlFlow.d.ts.map +0 -1
  44. package/dist/messages/identify.d.ts +0 -48
  45. package/dist/messages/identify.d.ts.map +0 -1
  46. package/dist/messages/index.d.ts +0 -556
  47. package/dist/messages/index.d.ts.map +0 -1
  48. package/dist/messages/log.d.ts +0 -27
  49. package/dist/messages/log.d.ts.map +0 -1
  50. package/dist/types/action.d.ts +0 -98
  51. package/dist/types/action.d.ts.map +0 -1
  52. package/dist/types/authMethod.d.ts +0 -29
  53. package/dist/types/authMethod.d.ts.map +0 -1
  54. package/dist/types/index.d.ts +0 -4
  55. package/dist/types/index.d.ts.map +0 -1
  56. package/dist/types/participant.d.ts +0 -10
  57. package/dist/types/participant.d.ts.map +0 -1
@@ -1,78 +1,132 @@
1
1
  export * from './action';
2
+ export * from './adapter';
2
3
  export * from './auth';
3
4
  export * from './config';
4
5
  export * from './controlFlow';
6
+ export * from './hub';
5
7
  export * from './identify';
8
+ export * from './legacyTrigger';
9
+ export * from './tracing';
10
+ export * from './triggerGroup';
11
+ export * from './webhookErrors';
6
12
 
7
- import { z } from 'zod';
13
+ import type { z } from 'zod';
8
14
  import {
9
- SlatesActionRequests,
15
+ type SlatesActionRequests,
16
+ type SlatesActionResponses,
10
17
  slatesActionRequestsByMethod,
11
- SlatesActionResponses,
12
18
  slatesActionResponsesByMethod
13
19
  } from './action';
14
20
  import {
15
- SlatesAuthNotifications,
21
+ type SlatesAdapterRequests,
22
+ type SlatesAdapterResponses,
23
+ slatesAdapterRequestsByMethod,
24
+ slatesAdapterResponsesByMethod
25
+ } from './adapter';
26
+ import {
27
+ type SlatesAuthNotifications,
28
+ type SlatesAuthRequests,
29
+ type SlatesAuthResponses,
16
30
  slatesAuthNotificationsByMethod,
17
- SlatesAuthRequests,
18
31
  slatesAuthRequestsByMethod,
19
- SlatesAuthResponses,
20
32
  slatesAuthResponsesByMethod
21
33
  } from './auth';
22
34
  import {
23
- SlatesConfigNotifications,
35
+ type SlatesConfigNotifications,
36
+ type SlatesConfigRequests,
37
+ type SlatesConfigResponses,
24
38
  slatesConfigNotificationsByMethod,
25
- SlatesConfigRequests,
26
39
  slatesConfigRequestsByMethod,
27
- SlatesConfigResponses,
28
40
  slatesConfigResponsesByMethod
29
41
  } from './config';
30
42
  import {
31
- SlatesControlFlowNotifications,
43
+ type SlatesControlFlowNotifications,
32
44
  slatesControlFlowNotificationsByMethod
33
45
  } from './controlFlow';
34
46
  import {
35
- SlatesIdentifyRequests,
47
+ type SlatesHubNotifications,
48
+ type SlatesHubRequests,
49
+ type SlatesHubResponses,
50
+ slatesHubNotificationsByMethod,
51
+ slatesHubRequestsByMethod,
52
+ slatesHubResponsesByMethod
53
+ } from './hub';
54
+ import {
55
+ type SlatesIdentifyRequests,
56
+ type SlatesIdentifyResponses,
36
57
  slatesIdentifyRequestsByMethod,
37
- SlatesIdentifyResponses,
38
58
  slatesIdentifyResponsesByMethod
39
59
  } from './identify';
60
+ import {
61
+ type SlatesLegacyTriggerRequests,
62
+ type SlatesLegacyTriggerResponses,
63
+ slatesLegacyTriggerRequestsByMethod,
64
+ slatesLegacyTriggerResponsesByMethod
65
+ } from './legacyTrigger';
66
+ import {
67
+ type SlatesTriggerGroupRequests,
68
+ type SlatesTriggerGroupResponses,
69
+ slatesTriggerGroupRequestsByMethod,
70
+ slatesTriggerGroupResponsesByMethod
71
+ } from './triggerGroup';
40
72
 
41
73
  export type SlatesNotifications =
42
74
  | SlatesAuthNotifications
43
75
  | SlatesConfigNotifications
44
- | SlatesControlFlowNotifications;
76
+ | SlatesControlFlowNotifications
77
+ | SlatesHubNotifications;
45
78
 
46
79
  export type SlatesRequests =
47
80
  | SlatesActionRequests
81
+ | SlatesAdapterRequests
48
82
  | SlatesAuthRequests
49
83
  | SlatesConfigRequests
84
+ | SlatesIdentifyRequests
85
+ | SlatesLegacyTriggerRequests
86
+ | SlatesTriggerGroupRequests
87
+ | SlatesHubRequests
50
88
  | SlatesIdentifyRequests;
51
89
 
52
90
  export type SlatesResponses =
53
91
  | SlatesActionResponses
92
+ | SlatesAdapterResponses
54
93
  | SlatesAuthResponses
55
94
  | SlatesConfigResponses
95
+ | SlatesIdentifyResponses
96
+ | SlatesLegacyTriggerResponses
97
+ | SlatesTriggerGroupResponses
98
+ | SlatesHubResponses
56
99
  | SlatesIdentifyResponses;
57
100
 
58
101
  export let slatesResponsesByMethod = {
59
102
  ...slatesActionResponsesByMethod,
103
+ ...slatesAdapterResponsesByMethod,
60
104
  ...slatesAuthResponsesByMethod,
61
105
  ...slatesConfigResponsesByMethod,
106
+ ...slatesIdentifyResponsesByMethod,
107
+ ...slatesLegacyTriggerResponsesByMethod,
108
+ ...slatesTriggerGroupResponsesByMethod,
109
+ ...slatesHubResponsesByMethod,
62
110
  ...slatesIdentifyResponsesByMethod
63
111
  };
64
112
 
65
113
  export let slatesRequestsByMethod = {
66
114
  ...slatesActionRequestsByMethod,
115
+ ...slatesAdapterRequestsByMethod,
67
116
  ...slatesAuthRequestsByMethod,
68
117
  ...slatesConfigRequestsByMethod,
118
+ ...slatesIdentifyRequestsByMethod,
119
+ ...slatesLegacyTriggerRequestsByMethod,
120
+ ...slatesTriggerGroupRequestsByMethod,
121
+ ...slatesHubRequestsByMethod,
69
122
  ...slatesIdentifyRequestsByMethod
70
123
  };
71
124
 
72
125
  export let slatesNotificationsByMethod = {
73
126
  ...slatesAuthNotificationsByMethod,
74
127
  ...slatesConfigNotificationsByMethod,
75
- ...slatesControlFlowNotificationsByMethod
128
+ ...slatesControlFlowNotificationsByMethod,
129
+ ...slatesHubNotificationsByMethod
76
130
  };
77
131
 
78
132
  export type SlatesResponsesByMethod = {
@@ -0,0 +1,149 @@
1
+ import z from 'zod';
2
+ import { slatesWebhookHttpResponse } from './action';
3
+ import { withRequestTraces } from './tracing';
4
+
5
+ export let slatesMessageActionTriggerEventsPollRequest = z.object({
6
+ jsonrpc: z.literal('2.0'),
7
+ method: z.literal('slates/action.trigger.poll_events'),
8
+ id: z.string(),
9
+ params: z.object({
10
+ actionId: z.string(),
11
+ state: z.any().nullable()
12
+ })
13
+ });
14
+
15
+ export type SlatesMessageActionTriggerEventsPollRequest = z.infer<
16
+ typeof slatesMessageActionTriggerEventsPollRequest
17
+ >;
18
+
19
+ export let slatesMessageActionTriggerEventsPollResponse = z.object({
20
+ jsonrpc: z.literal('2.0'),
21
+ id: z.string(),
22
+ result: withRequestTraces({
23
+ inputs: z.array(z.record(z.string(), z.any())),
24
+ updatedState: z.any().nullable().optional()
25
+ })
26
+ });
27
+
28
+ export type SlatesMessageActionTriggerEventsPollResponse = z.infer<
29
+ typeof slatesMessageActionTriggerEventsPollResponse
30
+ >;
31
+
32
+ export let slatesMessageActionTriggerWebhookHandleRequest = z.object({
33
+ jsonrpc: z.literal('2.0'),
34
+ method: z.literal('slates/action.trigger.webhook_handle'),
35
+ id: z.string(),
36
+ params: z.object({
37
+ actionId: z.string(),
38
+ url: z.string(),
39
+ method: z.string(),
40
+ headers: z.record(z.string(), z.string()),
41
+ body: z
42
+ .object({
43
+ encoding: z.literal('base64'),
44
+ content: z.string()
45
+ })
46
+ .nullable(),
47
+ state: z.any().nullable(),
48
+ registrationDetails: z.any().nullable().optional()
49
+ })
50
+ });
51
+
52
+ export type SlatesMessageActionTriggerWebhookHandleRequest = z.infer<
53
+ typeof slatesMessageActionTriggerWebhookHandleRequest
54
+ >;
55
+
56
+ export let slatesMessageActionTriggerWebhookHandleResponse = z.object({
57
+ jsonrpc: z.literal('2.0'),
58
+ id: z.string(),
59
+ result: withRequestTraces({
60
+ inputs: z.array(z.record(z.string(), z.any())),
61
+ updatedState: z.any().nullable().optional(),
62
+ response: slatesWebhookHttpResponse.nullable().optional()
63
+ })
64
+ });
65
+
66
+ export type SlatesMessageActionTriggerWebhookHandleResponse = z.infer<
67
+ typeof slatesMessageActionTriggerWebhookHandleResponse
68
+ >;
69
+
70
+ export let slatesMessageActionTriggerWebhookRegisterRequest = z.object({
71
+ jsonrpc: z.literal('2.0'),
72
+ method: z.literal('slates/action.trigger.webhook_register'),
73
+ id: z.string(),
74
+ params: z.object({
75
+ actionId: z.string(),
76
+ webhookBaseUrl: z.string()
77
+ })
78
+ });
79
+
80
+ export type SlatesMessageActionTriggerWebhookRegisterRequest = z.infer<
81
+ typeof slatesMessageActionTriggerWebhookRegisterRequest
82
+ >;
83
+
84
+ export let slatesMessageActionTriggerWebhookRegisterResponse = z.object({
85
+ jsonrpc: z.literal('2.0'),
86
+ id: z.string(),
87
+ result: withRequestTraces({
88
+ registrationDetails: z.any(),
89
+ state: z.any().optional()
90
+ })
91
+ });
92
+
93
+ export type SlatesMessageActionTriggerWebhookRegisterResponse = z.infer<
94
+ typeof slatesMessageActionTriggerWebhookRegisterResponse
95
+ >;
96
+
97
+ export let slatesMessageActionTriggerWebhookUnregisterRequest = z.object({
98
+ jsonrpc: z.literal('2.0'),
99
+ method: z.literal('slates/action.trigger.webhook_unregister'),
100
+ id: z.string(),
101
+ params: z.object({
102
+ actionId: z.string(),
103
+ webhookBaseUrl: z.string(),
104
+ registrationDetails: z.any(),
105
+ state: z.any().optional()
106
+ })
107
+ });
108
+
109
+ export type SlatesMessageActionTriggerWebhookUnregisterRequest = z.infer<
110
+ typeof slatesMessageActionTriggerWebhookUnregisterRequest
111
+ >;
112
+
113
+ export let slatesMessageActionTriggerWebhookUnregisterResponse = z.object({
114
+ jsonrpc: z.literal('2.0'),
115
+ id: z.string(),
116
+ result: withRequestTraces({})
117
+ });
118
+
119
+ export type SlatesMessageActionTriggerWebhookUnregisterResponse = z.infer<
120
+ typeof slatesMessageActionTriggerWebhookUnregisterResponse
121
+ >;
122
+
123
+ export type SlatesLegacyTriggerRequests =
124
+ | SlatesMessageActionTriggerEventsPollRequest
125
+ | SlatesMessageActionTriggerWebhookHandleRequest
126
+ | SlatesMessageActionTriggerWebhookRegisterRequest
127
+ | SlatesMessageActionTriggerWebhookUnregisterRequest;
128
+
129
+ export type SlatesLegacyTriggerResponses =
130
+ | SlatesMessageActionTriggerEventsPollResponse
131
+ | SlatesMessageActionTriggerWebhookHandleResponse
132
+ | SlatesMessageActionTriggerWebhookRegisterResponse
133
+ | SlatesMessageActionTriggerWebhookUnregisterResponse;
134
+
135
+ export let slatesLegacyTriggerResponsesByMethod = {
136
+ 'slates/action.trigger.poll_events': slatesMessageActionTriggerEventsPollResponse,
137
+ 'slates/action.trigger.webhook_handle': slatesMessageActionTriggerWebhookHandleResponse,
138
+ 'slates/action.trigger.webhook_register': slatesMessageActionTriggerWebhookRegisterResponse,
139
+ 'slates/action.trigger.webhook_unregister':
140
+ slatesMessageActionTriggerWebhookUnregisterResponse
141
+ };
142
+
143
+ export let slatesLegacyTriggerRequestsByMethod = {
144
+ 'slates/action.trigger.poll_events': slatesMessageActionTriggerEventsPollRequest,
145
+ 'slates/action.trigger.webhook_handle': slatesMessageActionTriggerWebhookHandleRequest,
146
+ 'slates/action.trigger.webhook_register': slatesMessageActionTriggerWebhookRegisterRequest,
147
+ 'slates/action.trigger.webhook_unregister':
148
+ slatesMessageActionTriggerWebhookUnregisterRequest
149
+ };
@@ -0,0 +1,38 @@
1
+ import z from 'zod';
2
+
3
+ export let slatesRequestTraceTextBody = z.object({
4
+ contentType: z.string().optional(),
5
+ text: z.string(),
6
+ truncated: z.boolean().optional()
7
+ });
8
+
9
+ export let slatesRequestTrace = z.object({
10
+ startedAt: z.string(),
11
+ durationMs: z.number().nonnegative(),
12
+ request: z.object({
13
+ method: z.string(),
14
+ url: z.string(),
15
+ headers: z.record(z.string(), z.string()).optional(),
16
+ body: slatesRequestTraceTextBody.optional()
17
+ }),
18
+ response: z
19
+ .object({
20
+ status: z.number(),
21
+ statusText: z.string().optional(),
22
+ headers: z.record(z.string(), z.string()).optional(),
23
+ body: slatesRequestTraceTextBody.optional()
24
+ })
25
+ .optional(),
26
+ error: z
27
+ .object({
28
+ code: z.string().optional(),
29
+ message: z.string()
30
+ })
31
+ .optional()
32
+ });
33
+
34
+ export let withRequestTraces = <Shape extends z.ZodRawShape>(shape: Shape) =>
35
+ z.object({
36
+ ...shape,
37
+ requestTraces: z.array(slatesRequestTrace).optional()
38
+ });