@slates/proto 1.0.0-rc.1 → 1.0.0-rc.11

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 ADDED
@@ -0,0 +1,1129 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ SLATES_PROTOCOL_VERSION: () => SLATES_PROTOCOL_VERSION,
34
+ SlatesProviderProtoHandlerManager: () => SlatesProviderProtoHandlerManager,
35
+ createSlatesProviderProtoHandler: () => createSlatesProviderProtoHandler,
36
+ slatesAction: () => slatesAction,
37
+ slatesActionBase: () => slatesActionBase,
38
+ slatesActionRequestsByMethod: () => slatesActionRequestsByMethod,
39
+ slatesActionResponsesByMethod: () => slatesActionResponsesByMethod,
40
+ slatesActionScopeClause: () => slatesActionScopeClause,
41
+ slatesActionScopes: () => slatesActionScopes,
42
+ slatesActionTool: () => slatesActionTool,
43
+ slatesActionTrigger: () => slatesActionTrigger,
44
+ slatesAuthNotificationsByMethod: () => slatesAuthNotificationsByMethod,
45
+ slatesAuthRequestsByMethod: () => slatesAuthRequestsByMethod,
46
+ slatesAuthResponsesByMethod: () => slatesAuthResponsesByMethod,
47
+ slatesAuthenticationMethod: () => slatesAuthenticationMethod,
48
+ slatesConfigNotificationsByMethod: () => slatesConfigNotificationsByMethod,
49
+ slatesConfigRequestsByMethod: () => slatesConfigRequestsByMethod,
50
+ slatesConfigResponsesByMethod: () => slatesConfigResponsesByMethod,
51
+ slatesControlFlowNotificationsByMethod: () => slatesControlFlowNotificationsByMethod,
52
+ slatesIdentifyRequestsByMethod: () => slatesIdentifyRequestsByMethod,
53
+ slatesIdentifyResponsesByMethod: () => slatesIdentifyResponsesByMethod,
54
+ slatesMessageActionGetRequest: () => slatesMessageActionGetRequest,
55
+ slatesMessageActionGetResponse: () => slatesMessageActionGetResponse,
56
+ slatesMessageActionInvokeRequest: () => slatesMessageActionInvokeRequest,
57
+ slatesMessageActionInvokeResponse: () => slatesMessageActionInvokeResponse,
58
+ slatesMessageActionTriggerEventMapRequest: () => slatesMessageActionTriggerEventMapRequest,
59
+ slatesMessageActionTriggerEventMapResponse: () => slatesMessageActionTriggerEventMapResponse,
60
+ slatesMessageActionTriggerEventsPollRequest: () => slatesMessageActionTriggerEventsPollRequest,
61
+ slatesMessageActionTriggerEventsPollResponse: () => slatesMessageActionTriggerEventsPollResponse,
62
+ slatesMessageActionTriggerWebhookHandleRequest: () => slatesMessageActionTriggerWebhookHandleRequest,
63
+ slatesMessageActionTriggerWebhookHandleResponse: () => slatesMessageActionTriggerWebhookHandleResponse,
64
+ slatesMessageActionTriggerWebhookRegisterRequest: () => slatesMessageActionTriggerWebhookRegisterRequest,
65
+ slatesMessageActionTriggerWebhookRegisterResponse: () => slatesMessageActionTriggerWebhookRegisterResponse,
66
+ slatesMessageActionTriggerWebhookUnregisterRequest: () => slatesMessageActionTriggerWebhookUnregisterRequest,
67
+ slatesMessageActionTriggerWebhookUnregisterResponse: () => slatesMessageActionTriggerWebhookUnregisterResponse,
68
+ slatesMessageActionsListRequest: () => slatesMessageActionsListRequest,
69
+ slatesMessageActionsListResponse: () => slatesMessageActionsListResponse,
70
+ slatesMessageAuthAuthorizationCallbackHandleRequest: () => slatesMessageAuthAuthorizationCallbackHandleRequest,
71
+ slatesMessageAuthAuthorizationCallbackHandleResponse: () => slatesMessageAuthAuthorizationCallbackHandleResponse,
72
+ slatesMessageAuthAuthorizationUrlGetRequest: () => slatesMessageAuthAuthorizationUrlGetRequest,
73
+ slatesMessageAuthAuthorizationUrlGetResponse: () => slatesMessageAuthAuthorizationUrlGetResponse,
74
+ slatesMessageAuthDefaultInputGetRequest: () => slatesMessageAuthDefaultInputGetRequest,
75
+ slatesMessageAuthDefaultInputGetResponse: () => slatesMessageAuthDefaultInputGetResponse,
76
+ slatesMessageAuthInputChangedRequest: () => slatesMessageAuthInputChangedRequest,
77
+ slatesMessageAuthInputChangedResponse: () => slatesMessageAuthInputChangedResponse,
78
+ slatesMessageAuthMethodGetRequest: () => slatesMessageAuthMethodGetRequest,
79
+ slatesMessageAuthMethodGetResponse: () => slatesMessageAuthMethodGetResponse,
80
+ slatesMessageAuthMethodsListRequest: () => slatesMessageAuthMethodsListRequest,
81
+ slatesMessageAuthMethodsListResponse: () => slatesMessageAuthMethodsListResponse,
82
+ slatesMessageAuthOutputGetRequest: () => slatesMessageAuthOutputGetRequest,
83
+ slatesMessageAuthOutputGetResponse: () => slatesMessageAuthOutputGetResponse,
84
+ slatesMessageAuthProfileGetRequest: () => slatesMessageAuthProfileGetRequest,
85
+ slatesMessageAuthProfileGetResponse: () => slatesMessageAuthProfileGetResponse,
86
+ slatesMessageAuthTokenRefreshHandleRequest: () => slatesMessageAuthTokenRefreshHandleRequest,
87
+ slatesMessageAuthTokenRefreshHandleResponse: () => slatesMessageAuthTokenRefreshHandleResponse,
88
+ slatesMessageConfigChangedRequest: () => slatesMessageConfigChangedRequest,
89
+ slatesMessageConfigChangedResponse: () => slatesMessageConfigChangedResponse,
90
+ slatesMessageConfigDefaultGetRequest: () => slatesMessageConfigDefaultGetRequest,
91
+ slatesMessageConfigDefaultGetResponse: () => slatesMessageConfigDefaultGetResponse,
92
+ slatesMessageConfigSchemaGetRequest: () => slatesMessageConfigSchemaGetRequest,
93
+ slatesMessageConfigSchemaGetResponse: () => slatesMessageConfigSchemaGetResponse,
94
+ slatesMessageHelloNotification: () => slatesMessageHelloNotification,
95
+ slatesMessageProviderIdentifyRequest: () => slatesMessageProviderIdentifyRequest,
96
+ slatesMessageProviderIdentifyResponse: () => slatesMessageProviderIdentifyResponse,
97
+ slatesMessageSessionStartNotification: () => slatesMessageSessionStartNotification,
98
+ slatesMessageSetAuthNotification: () => slatesMessageSetAuthNotification,
99
+ slatesMessageSetConfigNotification: () => slatesMessageSetConfigNotification,
100
+ slatesMessageSetParticipantsNotification: () => slatesMessageSetParticipantsNotification,
101
+ slatesNotificationsByMethod: () => slatesNotificationsByMethod,
102
+ slatesParticipant: () => slatesParticipant,
103
+ slatesRequestTrace: () => slatesRequestTrace,
104
+ slatesRequestTraceTextBody: () => slatesRequestTraceTextBody,
105
+ slatesRequestsByMethod: () => slatesRequestsByMethod,
106
+ slatesResponsesByMethod: () => slatesResponsesByMethod,
107
+ withRequestTraces: () => withRequestTraces
108
+ });
109
+ module.exports = __toCommonJS(index_exports);
110
+
111
+ // src/handler/provider.ts
112
+ var import_error = require("@lowerdeck/error");
113
+
114
+ // src/messages/action.ts
115
+ var import_zod5 = __toESM(require("zod"), 1);
116
+
117
+ // src/types/action.ts
118
+ var import_zod = __toESM(require("zod"), 1);
119
+ var slatesActionScopeClause = import_zod.default.object({
120
+ OR: import_zod.default.array(import_zod.default.string()).min(1)
121
+ });
122
+ var slatesActionScopes = import_zod.default.object({
123
+ AND: import_zod.default.array(slatesActionScopeClause).min(1)
124
+ });
125
+ var slatesActionBase = import_zod.default.object({
126
+ id: import_zod.default.string(),
127
+ name: import_zod.default.string(),
128
+ description: import_zod.default.string().optional(),
129
+ instructions: import_zod.default.array(import_zod.default.string()).optional(),
130
+ constraints: import_zod.default.array(import_zod.default.string()).optional(),
131
+ tags: import_zod.default.object({
132
+ destructive: import_zod.default.boolean().optional(),
133
+ readOnly: import_zod.default.boolean().optional()
134
+ }).optional(),
135
+ metadata: import_zod.default.record(import_zod.default.string(), import_zod.default.any()).optional(),
136
+ scopes: slatesActionScopes.optional(),
137
+ inputSchema: import_zod.default.record(import_zod.default.string(), import_zod.default.any()),
138
+ outputSchema: import_zod.default.record(import_zod.default.string(), import_zod.default.any()),
139
+ docs: import_zod.default.array(
140
+ import_zod.default.object({
141
+ type: import_zod.default.literal("docs.action.general").optional(),
142
+ name: import_zod.default.string(),
143
+ url: import_zod.default.string()
144
+ })
145
+ )
146
+ });
147
+ var slatesActionTool = slatesActionBase.extend({
148
+ type: import_zod.default.literal("action.tool"),
149
+ capabilities: import_zod.default.object({})
150
+ });
151
+ var slatesActionTrigger = slatesActionBase.extend({
152
+ type: import_zod.default.literal("action.trigger"),
153
+ capabilities: import_zod.default.object({}),
154
+ invocation: import_zod.default.union([
155
+ import_zod.default.object({
156
+ type: import_zod.default.literal("polling"),
157
+ intervalSeconds: import_zod.default.number().min(60 * 10)
158
+ }),
159
+ import_zod.default.object({
160
+ type: import_zod.default.literal("webhook"),
161
+ autoRegistration: import_zod.default.boolean(),
162
+ autoUnregistration: import_zod.default.boolean()
163
+ })
164
+ ])
165
+ });
166
+ var slatesAction = import_zod.default.union([slatesActionTool, slatesActionTrigger]);
167
+
168
+ // src/types/authMethod.ts
169
+ var import_zod2 = __toESM(require("zod"), 1);
170
+ var slatesAuthenticationMethod = import_zod2.default.object({
171
+ id: import_zod2.default.string(),
172
+ name: import_zod2.default.string(),
173
+ type: import_zod2.default.union([
174
+ import_zod2.default.literal("auth.oauth"),
175
+ import_zod2.default.literal("auth.token"),
176
+ import_zod2.default.literal("auth.service_account"),
177
+ import_zod2.default.literal("auth.custom")
178
+ ]),
179
+ scopes: import_zod2.default.array(
180
+ import_zod2.default.object({
181
+ id: import_zod2.default.string(),
182
+ title: import_zod2.default.string(),
183
+ description: import_zod2.default.string().optional(),
184
+ defaultChecked: import_zod2.default.boolean().optional()
185
+ })
186
+ ).optional(),
187
+ inputSchema: import_zod2.default.record(import_zod2.default.string(), import_zod2.default.any()),
188
+ outputSchema: import_zod2.default.record(import_zod2.default.string(), import_zod2.default.any()),
189
+ capabilities: import_zod2.default.object({
190
+ getDefaultInput: import_zod2.default.object({ enabled: import_zod2.default.boolean() }).optional(),
191
+ handleChangedInput: import_zod2.default.object({ enabled: import_zod2.default.boolean() }).optional(),
192
+ handleTokenRefresh: import_zod2.default.object({ enabled: import_zod2.default.boolean() }).optional(),
193
+ getProfile: import_zod2.default.object({ enabled: import_zod2.default.boolean() }).optional()
194
+ }),
195
+ docs: import_zod2.default.array(
196
+ import_zod2.default.object({
197
+ type: import_zod2.default.union([
198
+ import_zod2.default.literal("docs.auth.oauth"),
199
+ import_zod2.default.literal("docs.auth.oauth_scopes"),
200
+ import_zod2.default.literal("docs.auth.token"),
201
+ import_zod2.default.literal("docs.auth.service_account"),
202
+ import_zod2.default.literal("docs.auth.custom")
203
+ ]).optional(),
204
+ name: import_zod2.default.string(),
205
+ url: import_zod2.default.string()
206
+ })
207
+ )
208
+ });
209
+
210
+ // src/types/participant.ts
211
+ var import_zod3 = __toESM(require("zod"), 1);
212
+ var slatesParticipant = import_zod3.default.object({
213
+ type: import_zod3.default.union([import_zod3.default.literal("consumer"), import_zod3.default.literal("hub")]),
214
+ id: import_zod3.default.string(),
215
+ name: import_zod3.default.string(),
216
+ description: import_zod3.default.string().optional(),
217
+ metadata: import_zod3.default.record(import_zod3.default.string(), import_zod3.default.any()).optional()
218
+ });
219
+
220
+ // src/messages/tracing.ts
221
+ var import_zod4 = __toESM(require("zod"), 1);
222
+ var slatesRequestTraceTextBody = import_zod4.default.object({
223
+ contentType: import_zod4.default.string().optional(),
224
+ text: import_zod4.default.string(),
225
+ truncated: import_zod4.default.boolean().optional()
226
+ });
227
+ var slatesRequestTrace = import_zod4.default.object({
228
+ startedAt: import_zod4.default.string(),
229
+ durationMs: import_zod4.default.number().nonnegative(),
230
+ request: import_zod4.default.object({
231
+ method: import_zod4.default.string(),
232
+ url: import_zod4.default.string(),
233
+ headers: import_zod4.default.record(import_zod4.default.string(), import_zod4.default.string()).optional(),
234
+ body: slatesRequestTraceTextBody.optional()
235
+ }),
236
+ response: import_zod4.default.object({
237
+ status: import_zod4.default.number(),
238
+ statusText: import_zod4.default.string().optional(),
239
+ headers: import_zod4.default.record(import_zod4.default.string(), import_zod4.default.string()).optional(),
240
+ body: slatesRequestTraceTextBody.optional()
241
+ }).optional(),
242
+ error: import_zod4.default.object({
243
+ code: import_zod4.default.string().optional(),
244
+ message: import_zod4.default.string()
245
+ }).optional()
246
+ });
247
+ var withRequestTraces = (shape) => import_zod4.default.object({
248
+ ...shape,
249
+ requestTraces: import_zod4.default.array(slatesRequestTrace).optional()
250
+ });
251
+
252
+ // src/messages/action.ts
253
+ var slatesMessageActionsListRequest = import_zod5.default.object({
254
+ jsonrpc: import_zod5.default.literal("2.0"),
255
+ method: import_zod5.default.literal("slates/actions.list"),
256
+ id: import_zod5.default.string(),
257
+ params: import_zod5.default.object({})
258
+ });
259
+ var slatesMessageActionsListResponse = import_zod5.default.object({
260
+ jsonrpc: import_zod5.default.literal("2.0"),
261
+ id: import_zod5.default.string(),
262
+ result: import_zod5.default.object({
263
+ actions: import_zod5.default.array(slatesAction)
264
+ })
265
+ });
266
+ var slatesMessageActionGetRequest = import_zod5.default.object({
267
+ jsonrpc: import_zod5.default.literal("2.0"),
268
+ method: import_zod5.default.literal("slates/action.get"),
269
+ id: import_zod5.default.string(),
270
+ params: import_zod5.default.object({
271
+ actionId: import_zod5.default.string()
272
+ })
273
+ });
274
+ var slatesMessageActionGetResponse = import_zod5.default.object({
275
+ jsonrpc: import_zod5.default.literal("2.0"),
276
+ id: import_zod5.default.string(),
277
+ result: import_zod5.default.object({
278
+ action: slatesAction
279
+ })
280
+ });
281
+ var slatesMessageActionInvokeRequest = import_zod5.default.object({
282
+ jsonrpc: import_zod5.default.literal("2.0"),
283
+ method: import_zod5.default.literal("slates/action.tool.invoke"),
284
+ id: import_zod5.default.string(),
285
+ params: import_zod5.default.object({
286
+ actionId: import_zod5.default.string(),
287
+ input: import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any())
288
+ })
289
+ });
290
+ var slatesMessageActionInvokeResponse = import_zod5.default.object({
291
+ jsonrpc: import_zod5.default.literal("2.0"),
292
+ id: import_zod5.default.string(),
293
+ result: withRequestTraces({
294
+ output: import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any()),
295
+ message: import_zod5.default.string().optional(),
296
+ attachments: import_zod5.default.array(
297
+ import_zod5.default.object({
298
+ mimeType: import_zod5.default.string().optional(),
299
+ content: import_zod5.default.union([
300
+ import_zod5.default.object({
301
+ type: import_zod5.default.literal("url"),
302
+ url: import_zod5.default.string()
303
+ }),
304
+ import_zod5.default.object({
305
+ type: import_zod5.default.literal("content"),
306
+ encoding: import_zod5.default.union([import_zod5.default.literal("base64"), import_zod5.default.literal("utf-8")]),
307
+ content: import_zod5.default.string()
308
+ })
309
+ ])
310
+ })
311
+ ).optional()
312
+ })
313
+ });
314
+ var slatesMessageActionTriggerEventMapRequest = import_zod5.default.object({
315
+ jsonrpc: import_zod5.default.literal("2.0"),
316
+ method: import_zod5.default.literal("slates/action.trigger.map_event"),
317
+ id: import_zod5.default.string(),
318
+ params: import_zod5.default.object({
319
+ actionId: import_zod5.default.string(),
320
+ input: import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any())
321
+ })
322
+ });
323
+ var slatesMessageActionTriggerEventMapResponse = import_zod5.default.object({
324
+ jsonrpc: import_zod5.default.literal("2.0"),
325
+ id: import_zod5.default.string(),
326
+ result: withRequestTraces({
327
+ type: import_zod5.default.string(),
328
+ id: import_zod5.default.string(),
329
+ output: import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any())
330
+ })
331
+ });
332
+ var slatesMessageActionTriggerEventsPollRequest = import_zod5.default.object({
333
+ jsonrpc: import_zod5.default.literal("2.0"),
334
+ method: import_zod5.default.literal("slates/action.trigger.poll_events"),
335
+ id: import_zod5.default.string(),
336
+ params: import_zod5.default.object({
337
+ actionId: import_zod5.default.string(),
338
+ state: import_zod5.default.any().nullable()
339
+ })
340
+ });
341
+ var slatesMessageActionTriggerEventsPollResponse = import_zod5.default.object({
342
+ jsonrpc: import_zod5.default.literal("2.0"),
343
+ id: import_zod5.default.string(),
344
+ result: withRequestTraces({
345
+ inputs: import_zod5.default.array(import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any())),
346
+ updatedState: import_zod5.default.any().nullable().optional()
347
+ })
348
+ });
349
+ var slatesMessageActionTriggerWebhookHandleRequest = import_zod5.default.object({
350
+ jsonrpc: import_zod5.default.literal("2.0"),
351
+ method: import_zod5.default.literal("slates/action.trigger.webhook_handle"),
352
+ id: import_zod5.default.string(),
353
+ params: import_zod5.default.object({
354
+ actionId: import_zod5.default.string(),
355
+ url: import_zod5.default.string(),
356
+ method: import_zod5.default.string(),
357
+ headers: import_zod5.default.record(import_zod5.default.string(), import_zod5.default.string()),
358
+ body: import_zod5.default.object({
359
+ encoding: import_zod5.default.literal("base64"),
360
+ content: import_zod5.default.string()
361
+ }).nullable(),
362
+ state: import_zod5.default.any().nullable()
363
+ })
364
+ });
365
+ var slatesMessageActionTriggerWebhookHandleResponse = import_zod5.default.object({
366
+ jsonrpc: import_zod5.default.literal("2.0"),
367
+ id: import_zod5.default.string(),
368
+ result: withRequestTraces({
369
+ inputs: import_zod5.default.array(import_zod5.default.record(import_zod5.default.string(), import_zod5.default.any())),
370
+ updatedState: import_zod5.default.any().nullable().optional()
371
+ })
372
+ });
373
+ var slatesMessageActionTriggerWebhookRegisterRequest = import_zod5.default.object({
374
+ jsonrpc: import_zod5.default.literal("2.0"),
375
+ method: import_zod5.default.literal("slates/action.trigger.webhook_register"),
376
+ id: import_zod5.default.string(),
377
+ params: import_zod5.default.object({
378
+ actionId: import_zod5.default.string(),
379
+ webhookBaseUrl: import_zod5.default.string()
380
+ })
381
+ });
382
+ var slatesMessageActionTriggerWebhookRegisterResponse = import_zod5.default.object({
383
+ jsonrpc: import_zod5.default.literal("2.0"),
384
+ id: import_zod5.default.string(),
385
+ result: withRequestTraces({
386
+ registrationDetails: import_zod5.default.any(),
387
+ state: import_zod5.default.any().optional()
388
+ })
389
+ });
390
+ var slatesMessageActionTriggerWebhookUnregisterRequest = import_zod5.default.object({
391
+ jsonrpc: import_zod5.default.literal("2.0"),
392
+ method: import_zod5.default.literal("slates/action.trigger.webhook_unregister"),
393
+ id: import_zod5.default.string(),
394
+ params: import_zod5.default.object({
395
+ actionId: import_zod5.default.string(),
396
+ webhookBaseUrl: import_zod5.default.string(),
397
+ registrationDetails: import_zod5.default.any(),
398
+ state: import_zod5.default.any().optional()
399
+ })
400
+ });
401
+ var slatesMessageActionTriggerWebhookUnregisterResponse = import_zod5.default.object({
402
+ jsonrpc: import_zod5.default.literal("2.0"),
403
+ id: import_zod5.default.string(),
404
+ result: withRequestTraces({})
405
+ });
406
+ var slatesActionResponsesByMethod = {
407
+ "slates/actions.list": slatesMessageActionsListResponse,
408
+ "slates/action.get": slatesMessageActionGetResponse,
409
+ "slates/action.tool.invoke": slatesMessageActionInvokeResponse,
410
+ "slates/action.trigger.map_event": slatesMessageActionTriggerEventMapResponse,
411
+ "slates/action.trigger.poll_events": slatesMessageActionTriggerEventsPollResponse,
412
+ "slates/action.trigger.webhook_handle": slatesMessageActionTriggerWebhookHandleResponse,
413
+ "slates/action.trigger.webhook_register": slatesMessageActionTriggerWebhookRegisterResponse,
414
+ "slates/action.trigger.webhook_unregister": slatesMessageActionTriggerWebhookUnregisterResponse
415
+ };
416
+ var slatesActionRequestsByMethod = {
417
+ "slates/actions.list": slatesMessageActionsListRequest,
418
+ "slates/action.get": slatesMessageActionGetRequest,
419
+ "slates/action.tool.invoke": slatesMessageActionInvokeRequest,
420
+ "slates/action.trigger.map_event": slatesMessageActionTriggerEventMapRequest,
421
+ "slates/action.trigger.poll_events": slatesMessageActionTriggerEventsPollRequest,
422
+ "slates/action.trigger.webhook_handle": slatesMessageActionTriggerWebhookHandleRequest,
423
+ "slates/action.trigger.webhook_register": slatesMessageActionTriggerWebhookRegisterRequest,
424
+ "slates/action.trigger.webhook_unregister": slatesMessageActionTriggerWebhookUnregisterRequest
425
+ };
426
+
427
+ // src/messages/auth.ts
428
+ var import_zod6 = __toESM(require("zod"), 1);
429
+ var slatesMessageSetAuthNotification = import_zod6.default.object({
430
+ jsonrpc: import_zod6.default.literal("2.0"),
431
+ method: import_zod6.default.literal("slates/auth.set"),
432
+ params: import_zod6.default.object({
433
+ authenticationMethodId: import_zod6.default.string(),
434
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
435
+ })
436
+ });
437
+ var slatesMessageAuthMethodsListRequest = import_zod6.default.object({
438
+ jsonrpc: import_zod6.default.literal("2.0"),
439
+ method: import_zod6.default.literal("slates/auth.methods.list"),
440
+ id: import_zod6.default.string(),
441
+ params: import_zod6.default.object({})
442
+ });
443
+ var slatesMessageAuthMethodsListResponse = import_zod6.default.object({
444
+ jsonrpc: import_zod6.default.literal("2.0"),
445
+ id: import_zod6.default.string(),
446
+ result: import_zod6.default.object({
447
+ authenticationMethods: import_zod6.default.array(slatesAuthenticationMethod)
448
+ })
449
+ });
450
+ var slatesMessageAuthMethodGetRequest = import_zod6.default.object({
451
+ jsonrpc: import_zod6.default.literal("2.0"),
452
+ method: import_zod6.default.literal("slates/auth.method.get"),
453
+ id: import_zod6.default.string(),
454
+ params: import_zod6.default.object({
455
+ authenticationMethodId: import_zod6.default.string()
456
+ })
457
+ });
458
+ var slatesMessageAuthMethodGetResponse = import_zod6.default.object({
459
+ jsonrpc: import_zod6.default.literal("2.0"),
460
+ id: import_zod6.default.string(),
461
+ result: import_zod6.default.object({
462
+ authenticationMethod: slatesAuthenticationMethod
463
+ })
464
+ });
465
+ var slatesMessageAuthInputChangedRequest = import_zod6.default.object({
466
+ jsonrpc: import_zod6.default.literal("2.0"),
467
+ method: import_zod6.default.literal("slates/auth.input.changed"),
468
+ id: import_zod6.default.string(),
469
+ params: import_zod6.default.object({
470
+ authenticationMethodId: import_zod6.default.string(),
471
+ previousInput: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).nullable(),
472
+ newInput: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
473
+ })
474
+ });
475
+ var slatesMessageAuthInputChangedResponse = import_zod6.default.object({
476
+ jsonrpc: import_zod6.default.literal("2.0"),
477
+ id: import_zod6.default.string(),
478
+ result: withRequestTraces({
479
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional()
480
+ })
481
+ });
482
+ var slatesMessageAuthDefaultInputGetRequest = import_zod6.default.object({
483
+ jsonrpc: import_zod6.default.literal("2.0"),
484
+ method: import_zod6.default.literal("slates/auth.input.get_default"),
485
+ id: import_zod6.default.string(),
486
+ params: import_zod6.default.object({
487
+ authenticationMethodId: import_zod6.default.string()
488
+ })
489
+ });
490
+ var slatesMessageAuthDefaultInputGetResponse = import_zod6.default.object({
491
+ jsonrpc: import_zod6.default.literal("2.0"),
492
+ id: import_zod6.default.string(),
493
+ result: withRequestTraces({
494
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
495
+ })
496
+ });
497
+ var slatesMessageAuthAuthorizationUrlGetRequest = import_zod6.default.object({
498
+ jsonrpc: import_zod6.default.literal("2.0"),
499
+ method: import_zod6.default.literal("slates/auth.authorization_url.get"),
500
+ id: import_zod6.default.string(),
501
+ params: import_zod6.default.object({
502
+ authenticationMethodId: import_zod6.default.string(),
503
+ redirectUri: import_zod6.default.string(),
504
+ state: import_zod6.default.string(),
505
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
506
+ clientId: import_zod6.default.string(),
507
+ clientSecret: import_zod6.default.string(),
508
+ scopes: import_zod6.default.array(import_zod6.default.string())
509
+ })
510
+ });
511
+ var slatesMessageAuthAuthorizationUrlGetResponse = import_zod6.default.object({
512
+ jsonrpc: import_zod6.default.literal("2.0"),
513
+ id: import_zod6.default.string(),
514
+ result: withRequestTraces({
515
+ authorizationUrl: import_zod6.default.string(),
516
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional(),
517
+ callbackState: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional()
518
+ })
519
+ });
520
+ var slatesMessageAuthAuthorizationCallbackHandleRequest = import_zod6.default.object({
521
+ jsonrpc: import_zod6.default.literal("2.0"),
522
+ method: import_zod6.default.literal("slates/auth.authorization_callback.handle"),
523
+ id: import_zod6.default.string(),
524
+ params: import_zod6.default.object({
525
+ authenticationMethodId: import_zod6.default.string(),
526
+ code: import_zod6.default.string(),
527
+ state: import_zod6.default.string(),
528
+ redirectUri: import_zod6.default.string(),
529
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
530
+ clientId: import_zod6.default.string(),
531
+ clientSecret: import_zod6.default.string(),
532
+ scopes: import_zod6.default.array(import_zod6.default.string()),
533
+ callbackParams: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.string()).optional(),
534
+ callbackState: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional()
535
+ })
536
+ });
537
+ var slatesMessageAuthAuthorizationCallbackHandleResponse = import_zod6.default.object({
538
+ jsonrpc: import_zod6.default.literal("2.0"),
539
+ id: import_zod6.default.string(),
540
+ result: withRequestTraces({
541
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
542
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional(),
543
+ scopes: import_zod6.default.array(import_zod6.default.string()).optional()
544
+ })
545
+ });
546
+ var slatesMessageAuthTokenRefreshHandleRequest = import_zod6.default.object({
547
+ jsonrpc: import_zod6.default.literal("2.0"),
548
+ method: import_zod6.default.literal("slates/auth.token_refresh.handle"),
549
+ id: import_zod6.default.string(),
550
+ params: import_zod6.default.object({
551
+ authenticationMethodId: import_zod6.default.string(),
552
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
553
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
554
+ clientId: import_zod6.default.string(),
555
+ clientSecret: import_zod6.default.string(),
556
+ scopes: import_zod6.default.array(import_zod6.default.string())
557
+ })
558
+ });
559
+ var slatesMessageAuthTokenRefreshHandleResponse = import_zod6.default.object({
560
+ jsonrpc: import_zod6.default.literal("2.0"),
561
+ id: import_zod6.default.string(),
562
+ result: withRequestTraces({
563
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
564
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()).optional()
565
+ })
566
+ });
567
+ var slatesMessageAuthProfileGetRequest = import_zod6.default.object({
568
+ jsonrpc: import_zod6.default.literal("2.0"),
569
+ method: import_zod6.default.literal("slates/auth.profile.get"),
570
+ id: import_zod6.default.string(),
571
+ params: import_zod6.default.object({
572
+ authenticationMethodId: import_zod6.default.string(),
573
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
574
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any()),
575
+ scopes: import_zod6.default.array(import_zod6.default.string())
576
+ })
577
+ });
578
+ var slatesMessageAuthProfileGetResponse = import_zod6.default.object({
579
+ jsonrpc: import_zod6.default.literal("2.0"),
580
+ id: import_zod6.default.string(),
581
+ result: withRequestTraces({
582
+ profile: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
583
+ })
584
+ });
585
+ var slatesMessageAuthOutputGetRequest = import_zod6.default.object({
586
+ jsonrpc: import_zod6.default.literal("2.0"),
587
+ method: import_zod6.default.literal("slates/auth.output.get"),
588
+ id: import_zod6.default.string(),
589
+ params: import_zod6.default.object({
590
+ authenticationMethodId: import_zod6.default.string(),
591
+ input: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
592
+ })
593
+ });
594
+ var slatesMessageAuthOutputGetResponse = import_zod6.default.object({
595
+ jsonrpc: import_zod6.default.literal("2.0"),
596
+ id: import_zod6.default.string(),
597
+ result: withRequestTraces({
598
+ output: import_zod6.default.record(import_zod6.default.string(), import_zod6.default.any())
599
+ })
600
+ });
601
+ var slatesAuthResponsesByMethod = {
602
+ "slates/auth.methods.list": slatesMessageAuthMethodsListResponse,
603
+ "slates/auth.method.get": slatesMessageAuthMethodGetResponse,
604
+ "slates/auth.input.changed": slatesMessageAuthInputChangedResponse,
605
+ "slates/auth.input.get_default": slatesMessageAuthDefaultInputGetResponse,
606
+ "slates/auth.authorization_url.get": slatesMessageAuthAuthorizationUrlGetResponse,
607
+ "slates/auth.authorization_callback.handle": slatesMessageAuthAuthorizationCallbackHandleResponse,
608
+ "slates/auth.token_refresh.handle": slatesMessageAuthTokenRefreshHandleResponse,
609
+ "slates/auth.profile.get": slatesMessageAuthProfileGetResponse,
610
+ "slates/auth.output.get": slatesMessageAuthOutputGetResponse
611
+ };
612
+ var slatesAuthRequestsByMethod = {
613
+ "slates/auth.methods.list": slatesMessageAuthMethodsListRequest,
614
+ "slates/auth.method.get": slatesMessageAuthMethodGetRequest,
615
+ "slates/auth.input.changed": slatesMessageAuthInputChangedRequest,
616
+ "slates/auth.input.get_default": slatesMessageAuthDefaultInputGetRequest,
617
+ "slates/auth.authorization_url.get": slatesMessageAuthAuthorizationUrlGetRequest,
618
+ "slates/auth.authorization_callback.handle": slatesMessageAuthAuthorizationCallbackHandleRequest,
619
+ "slates/auth.token_refresh.handle": slatesMessageAuthTokenRefreshHandleRequest,
620
+ "slates/auth.profile.get": slatesMessageAuthProfileGetRequest,
621
+ "slates/auth.output.get": slatesMessageAuthOutputGetRequest
622
+ };
623
+ var slatesAuthNotificationsByMethod = {
624
+ "slates/auth.set": slatesMessageSetAuthNotification
625
+ };
626
+
627
+ // src/messages/config.ts
628
+ var import_zod7 = __toESM(require("zod"), 1);
629
+ var slatesMessageSetConfigNotification = import_zod7.default.object({
630
+ jsonrpc: import_zod7.default.literal("2.0"),
631
+ method: import_zod7.default.literal("slates/config.set"),
632
+ params: import_zod7.default.object({
633
+ config: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any())
634
+ })
635
+ });
636
+ var slatesMessageConfigSchemaGetRequest = import_zod7.default.object({
637
+ jsonrpc: import_zod7.default.literal("2.0"),
638
+ method: import_zod7.default.literal("slates/config.schema.get"),
639
+ id: import_zod7.default.string(),
640
+ params: import_zod7.default.object({})
641
+ });
642
+ var slatesMessageConfigSchemaGetResponse = import_zod7.default.object({
643
+ jsonrpc: import_zod7.default.literal("2.0"),
644
+ id: import_zod7.default.string(),
645
+ result: import_zod7.default.object({
646
+ schema: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any()),
647
+ docs: import_zod7.default.array(
648
+ import_zod7.default.object({
649
+ type: import_zod7.default.literal("docs.config.general").optional(),
650
+ name: import_zod7.default.string(),
651
+ url: import_zod7.default.string()
652
+ })
653
+ )
654
+ })
655
+ });
656
+ var slatesMessageConfigChangedRequest = import_zod7.default.object({
657
+ jsonrpc: import_zod7.default.literal("2.0"),
658
+ method: import_zod7.default.literal("slates/config.changed"),
659
+ id: import_zod7.default.string(),
660
+ params: import_zod7.default.object({
661
+ previousConfig: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any()).nullable(),
662
+ newConfig: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any())
663
+ })
664
+ });
665
+ var slatesMessageConfigChangedResponse = import_zod7.default.object({
666
+ jsonrpc: import_zod7.default.literal("2.0"),
667
+ id: import_zod7.default.string(),
668
+ result: withRequestTraces({
669
+ success: import_zod7.default.boolean(),
670
+ config: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any()).optional(),
671
+ errors: import_zod7.default.array(
672
+ import_zod7.default.object({
673
+ code: import_zod7.default.string(),
674
+ message: import_zod7.default.string(),
675
+ path: import_zod7.default.array(import_zod7.default.string()).optional()
676
+ })
677
+ ).optional()
678
+ })
679
+ });
680
+ var slatesMessageConfigDefaultGetRequest = import_zod7.default.object({
681
+ jsonrpc: import_zod7.default.literal("2.0"),
682
+ method: import_zod7.default.literal("slates/config.get_default"),
683
+ id: import_zod7.default.string(),
684
+ params: import_zod7.default.object({})
685
+ });
686
+ var slatesMessageConfigDefaultGetResponse = import_zod7.default.object({
687
+ jsonrpc: import_zod7.default.literal("2.0"),
688
+ id: import_zod7.default.string(),
689
+ result: withRequestTraces({
690
+ config: import_zod7.default.record(import_zod7.default.string(), import_zod7.default.any()).nullable()
691
+ })
692
+ });
693
+ var slatesConfigResponsesByMethod = {
694
+ "slates/config.schema.get": slatesMessageConfigSchemaGetResponse,
695
+ "slates/config.get_default": slatesMessageConfigDefaultGetResponse,
696
+ "slates/config.changed": slatesMessageConfigChangedResponse
697
+ };
698
+ var slatesConfigRequestsByMethod = {
699
+ "slates/config.schema.get": slatesMessageConfigSchemaGetRequest,
700
+ "slates/config.get_default": slatesMessageConfigDefaultGetRequest,
701
+ "slates/config.changed": slatesMessageConfigChangedRequest
702
+ };
703
+ var slatesConfigNotificationsByMethod = {
704
+ "slates/config.set": slatesMessageSetConfigNotification
705
+ };
706
+
707
+ // src/messages/controlFlow.ts
708
+ var import_zod8 = __toESM(require("zod"), 1);
709
+
710
+ // src/version.ts
711
+ var SLATES_PROTOCOL_VERSION = "slates@2026-01-01";
712
+
713
+ // src/messages/controlFlow.ts
714
+ var slatesMessageHelloNotification = import_zod8.default.object({
715
+ jsonrpc: import_zod8.default.literal("2.0"),
716
+ method: import_zod8.default.literal("slates/hello"),
717
+ params: import_zod8.default.object({
718
+ protocol: import_zod8.default.literal(SLATES_PROTOCOL_VERSION)
719
+ })
720
+ });
721
+ var slatesMessageSetParticipantsNotification = import_zod8.default.object({
722
+ jsonrpc: import_zod8.default.literal("2.0"),
723
+ method: import_zod8.default.literal("slates/participant.set"),
724
+ params: import_zod8.default.object({
725
+ participants: import_zod8.default.array(slatesParticipant)
726
+ })
727
+ });
728
+ var slatesMessageSessionStartNotification = import_zod8.default.object({
729
+ jsonrpc: import_zod8.default.literal("2.0"),
730
+ method: import_zod8.default.literal("slates/session.start"),
731
+ params: import_zod8.default.object({
732
+ sessionId: import_zod8.default.string(),
733
+ state: import_zod8.default.record(import_zod8.default.string(), import_zod8.default.any())
734
+ })
735
+ });
736
+ var slatesControlFlowNotificationsByMethod = {
737
+ "slates/hello": slatesMessageHelloNotification,
738
+ "slates/participant.set": slatesMessageSetParticipantsNotification,
739
+ "slates/session.start": slatesMessageSessionStartNotification
740
+ };
741
+
742
+ // src/messages/identify.ts
743
+ var import_zod9 = __toESM(require("zod"), 1);
744
+ var slatesMessageProviderIdentifyRequest = import_zod9.default.object({
745
+ jsonrpc: import_zod9.default.literal("2.0"),
746
+ method: import_zod9.default.literal("slates/provider.identify"),
747
+ id: import_zod9.default.string(),
748
+ params: import_zod9.default.object({})
749
+ });
750
+ var slatesMessageProviderIdentifyResponse = import_zod9.default.object({
751
+ jsonrpc: import_zod9.default.literal("2.0"),
752
+ id: import_zod9.default.string(),
753
+ result: import_zod9.default.object({
754
+ protocol: import_zod9.default.literal(SLATES_PROTOCOL_VERSION),
755
+ provider: import_zod9.default.object({
756
+ type: import_zod9.default.literal("provider"),
757
+ id: import_zod9.default.string(),
758
+ name: import_zod9.default.string(),
759
+ description: import_zod9.default.string().optional(),
760
+ metadata: import_zod9.default.record(import_zod9.default.string(), import_zod9.default.any()).optional()
761
+ }),
762
+ docs: import_zod9.default.array(
763
+ import_zod9.default.object({
764
+ name: import_zod9.default.string(),
765
+ url: import_zod9.default.string()
766
+ })
767
+ )
768
+ })
769
+ });
770
+ var slatesIdentifyResponsesByMethod = {
771
+ "slates/provider.identify": slatesMessageProviderIdentifyResponse
772
+ };
773
+ var slatesIdentifyRequestsByMethod = {
774
+ "slates/provider.identify": slatesMessageProviderIdentifyRequest
775
+ };
776
+
777
+ // src/messages/index.ts
778
+ var slatesResponsesByMethod = {
779
+ ...slatesActionResponsesByMethod,
780
+ ...slatesAuthResponsesByMethod,
781
+ ...slatesConfigResponsesByMethod,
782
+ ...slatesIdentifyResponsesByMethod
783
+ };
784
+ var slatesRequestsByMethod = {
785
+ ...slatesActionRequestsByMethod,
786
+ ...slatesAuthRequestsByMethod,
787
+ ...slatesConfigRequestsByMethod,
788
+ ...slatesIdentifyRequestsByMethod
789
+ };
790
+ var slatesNotificationsByMethod = {
791
+ ...slatesAuthNotificationsByMethod,
792
+ ...slatesConfigNotificationsByMethod,
793
+ ...slatesControlFlowNotificationsByMethod
794
+ };
795
+
796
+ // src/handler/provider.ts
797
+ var SlatesProviderProtoHandlerManager = class {
798
+ #implMap = /* @__PURE__ */ new Map();
799
+ onNotification(method, handler) {
800
+ let schema = slatesNotificationsByMethod[method];
801
+ if (!schema) {
802
+ throw new Error(`No schema found for method: ${method}`);
803
+ }
804
+ this.#implMap.set(method, {
805
+ type: "notification",
806
+ handler,
807
+ schema
808
+ });
809
+ }
810
+ onRequest(method, cb) {
811
+ let schema = slatesRequestsByMethod[method];
812
+ if (!schema) {
813
+ throw new Error(`No schema found for method: ${method}`);
814
+ }
815
+ this.#implMap.set(method, {
816
+ type: "request",
817
+ handler: cb,
818
+ schema
819
+ });
820
+ }
821
+ async _handleInput(input) {
822
+ try {
823
+ if (typeof input !== "object" || input === null) {
824
+ return {
825
+ jsonrpc: "2.0",
826
+ id: input.id,
827
+ error: toSlateErrorResponse((0, import_error.badRequestError)({ message: "Invalid input" }))
828
+ };
829
+ }
830
+ if (input.jsonrpc !== "2.0") {
831
+ return {
832
+ jsonrpc: "2.0",
833
+ id: input.id,
834
+ error: toSlateErrorResponse((0, import_error.badRequestError)({ message: "Invalid jsonrpc version" }))
835
+ };
836
+ }
837
+ let method = input.method;
838
+ if (typeof method !== "string") {
839
+ return {
840
+ jsonrpc: "2.0",
841
+ id: input.id,
842
+ error: toSlateErrorResponse(
843
+ (0, import_error.badRequestError)({ message: "Invalid or missing method" })
844
+ )
845
+ };
846
+ }
847
+ let impl = this.#implMap.get(input.method);
848
+ if (!impl) {
849
+ return {
850
+ jsonrpc: "2.0",
851
+ id: input.id,
852
+ error: toSlateErrorResponse((0, import_error.notFoundError)("handler", input.method))
853
+ };
854
+ }
855
+ let parsed = impl.schema.safeParse(input);
856
+ if (!parsed.success) {
857
+ return {
858
+ jsonrpc: "2.0",
859
+ id: input.id,
860
+ error: toSlateErrorResponse(
861
+ (0, import_error.validationError)({
862
+ entity: "request",
863
+ message: "Invalid request parameters",
864
+ errors: parsed.error.issues.map((i) => ({
865
+ ...i,
866
+ path: i.path.map((p) => String(p))
867
+ }))
868
+ })
869
+ )
870
+ };
871
+ }
872
+ if (impl.type === "notification") {
873
+ await impl.handler(parsed.data);
874
+ return;
875
+ }
876
+ let result = await impl.handler(parsed.data);
877
+ return {
878
+ jsonrpc: "2.0",
879
+ id: parsed.data.id,
880
+ result
881
+ };
882
+ } catch (err) {
883
+ if (!getSlateErrorResponse(err) && !getServiceErrorData(err)) {
884
+ console.error(err);
885
+ }
886
+ return {
887
+ jsonrpc: "2.0",
888
+ id: input.id,
889
+ error: toSlateErrorResponse(err, {
890
+ message: "Internal server error"
891
+ })
892
+ };
893
+ }
894
+ }
895
+ static async handleInput(manager, input) {
896
+ return manager._handleInput(input);
897
+ }
898
+ };
899
+ var createSlatesProviderProtoHandler = (cb) => ({
900
+ run: async () => {
901
+ let manager = new SlatesProviderProtoHandlerManager();
902
+ await cb(manager);
903
+ return manager;
904
+ }
905
+ });
906
+ var toSlateErrorResponse = (error, defaults = {}) => {
907
+ let slateError = getSlateErrorResponse(error);
908
+ if (slateError) return slateError;
909
+ let serviceError = getServiceErrorData(error);
910
+ if (serviceError) {
911
+ return mapServiceErrorToSlateErrorResponse(serviceError, defaults);
912
+ }
913
+ return mapUnknownErrorToSlateErrorResponse(error, defaults);
914
+ };
915
+ var SERVICE_ERROR_CODE_MAP = {
916
+ invalid_data: "input.invalid",
917
+ bad_request: "request.bad",
918
+ not_found: "resource.not_found",
919
+ unauthorized: "auth.required",
920
+ forbidden: "permission.denied",
921
+ invalid_version: "request.invalid_version",
922
+ conflict: "resource.conflict",
923
+ gone: "resource.gone",
924
+ payment_required: "payment.required",
925
+ precondition_failed: "request.precondition_failed",
926
+ not_acceptable: "request.not_acceptable",
927
+ not_implemented: "operation.not_implemented",
928
+ too_many_requests: "request.rate_limited",
929
+ timeout: "internal.timeout",
930
+ internal_server_error: "internal.unexpected"
931
+ };
932
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
933
+ var isStructuredValue = (value) => (typeof value === "object" || typeof value === "function") && value !== null;
934
+ var isSlateErrorPayload = (value) => isRecord(value) && typeof value.code === "string" && typeof value.message === "string" && typeof value.kind === "string";
935
+ var isServiceErrorData = (value) => isRecord(value) && typeof value.status === "number" && typeof value.code === "string" && typeof value.message === "string" && !("config" in value) && !("request" in value) && !("response" in value) && !("isAxiosError" in value);
936
+ var getSlateErrorResponse = (error) => {
937
+ if (isStructuredValue(error) && "name" in error && typeof error.name === "string" && error.name.startsWith("SlateError") && "toResponse" in error && typeof error.toResponse === "function") {
938
+ let response = error.toResponse();
939
+ return isSlateErrorPayload(response) ? response : null;
940
+ }
941
+ if (isSlateErrorPayload(error)) return error;
942
+ if (isStructuredValue(error) && "data" in error && isSlateErrorPayload(error.data)) {
943
+ return error.data;
944
+ }
945
+ return null;
946
+ };
947
+ var getServiceErrorData = (error) => {
948
+ if ((0, import_error.isServiceError)(error) && isServiceErrorData(error.data)) {
949
+ return error.data;
950
+ }
951
+ if (isServiceErrorData(error)) return error;
952
+ if (isStructuredValue(error) && "data" in error && isServiceErrorData(error.data)) {
953
+ return error.data;
954
+ }
955
+ if (isStructuredValue(error) && "toResponse" in error && typeof error.toResponse === "function") {
956
+ let response = error.toResponse();
957
+ if (isServiceErrorData(response)) return response;
958
+ }
959
+ return null;
960
+ };
961
+ var mapKind = (code) => {
962
+ if (code.startsWith("declaration.")) return "declaration";
963
+ if (code.startsWith("input.")) return "validation";
964
+ if (code.startsWith("request.")) return "request";
965
+ if (code.startsWith("config.")) return "config";
966
+ if (code.startsWith("auth.") || code.startsWith("permission.")) return "auth";
967
+ if (code.startsWith("resource.")) return "resource";
968
+ if (code.startsWith("payment.")) return "payment";
969
+ if (code.startsWith("transport.")) return "transport";
970
+ if (code.startsWith("upstream.")) return "upstream";
971
+ return "internal";
972
+ };
973
+ var mapRetryable = (code) => code === "request.rate_limited" || code === "upstream.rate_limited" || code === "upstream.timeout" || code === "upstream.network_error" || code === "upstream.unavailable" || code === "upstream.error" || code === "transport.invoke_failed" || code === "internal.timeout";
974
+ var mapServiceErrorCode = (code, status) => {
975
+ if (SERVICE_ERROR_CODE_MAP[code]) return SERVICE_ERROR_CODE_MAP[code];
976
+ if (status === 400) return "request.bad";
977
+ if (status === 401) return "auth.required";
978
+ if (status === 402) return "payment.required";
979
+ if (status === 403) return "permission.denied";
980
+ if (status === 404) return "resource.not_found";
981
+ if (status === 406) return "request.not_acceptable";
982
+ if (status === 409) return "resource.conflict";
983
+ if (status === 410) return "resource.gone";
984
+ if (status === 412) return "request.precondition_failed";
985
+ if (status === 429) return "request.rate_limited";
986
+ if (status === 501) return "operation.not_implemented";
987
+ if (status === 504) return "internal.timeout";
988
+ if (status && status >= 500) return "internal.unexpected";
989
+ return "internal.unexpected";
990
+ };
991
+ var mapIssues = (errors) => {
992
+ if (!Array.isArray(errors)) return void 0;
993
+ let issues = errors.map((error) => {
994
+ if (!isRecord(error)) {
995
+ return { message: String(error) };
996
+ }
997
+ return {
998
+ ...error,
999
+ path: Array.isArray(error.path) ? error.path.map((entry) => String(entry)) : void 0,
1000
+ code: typeof error.code === "string" ? error.code : void 0,
1001
+ message: typeof error.message === "string" ? error.message : "Validation issue"
1002
+ };
1003
+ });
1004
+ return issues.length > 0 ? issues : void 0;
1005
+ };
1006
+ var mapServiceErrorToSlateErrorResponse = (error, defaults = {}) => {
1007
+ let code = defaults.code ?? mapServiceErrorCode(error.code, error.status);
1008
+ let extraEntries = Object.entries(error).filter(
1009
+ ([key]) => ![
1010
+ "status",
1011
+ "code",
1012
+ "message",
1013
+ "errors",
1014
+ "hint",
1015
+ "description",
1016
+ "reason",
1017
+ "object",
1018
+ "ok"
1019
+ ].includes(key)
1020
+ );
1021
+ return {
1022
+ code,
1023
+ kind: mapKind(code),
1024
+ message: error.message,
1025
+ retryable: mapRetryable(code),
1026
+ status: error.status,
1027
+ ...mapIssues(error.errors) ? { issues: mapIssues(error.errors) } : {},
1028
+ baggage: {
1029
+ serviceError: {
1030
+ code: error.code,
1031
+ status: error.status,
1032
+ hint: error.hint,
1033
+ description: error.description,
1034
+ reason: error.reason
1035
+ },
1036
+ ...extraEntries.length > 0 ? { serviceErrorData: Object.fromEntries(extraEntries) } : {}
1037
+ }
1038
+ };
1039
+ };
1040
+ var mapUnknownErrorToSlateErrorResponse = (error, defaults = {}) => ({
1041
+ code: defaults.code ?? "internal.unexpected",
1042
+ kind: "internal",
1043
+ message: defaults.message ?? (error instanceof Error ? error.message : "An unexpected internal error occurred."),
1044
+ retryable: false,
1045
+ status: 500,
1046
+ ...error instanceof Error ? {
1047
+ baggage: {
1048
+ originalName: error.name
1049
+ }
1050
+ } : {}
1051
+ });
1052
+ // Annotate the CommonJS export names for ESM import in node:
1053
+ 0 && (module.exports = {
1054
+ SLATES_PROTOCOL_VERSION,
1055
+ SlatesProviderProtoHandlerManager,
1056
+ createSlatesProviderProtoHandler,
1057
+ slatesAction,
1058
+ slatesActionBase,
1059
+ slatesActionRequestsByMethod,
1060
+ slatesActionResponsesByMethod,
1061
+ slatesActionScopeClause,
1062
+ slatesActionScopes,
1063
+ slatesActionTool,
1064
+ slatesActionTrigger,
1065
+ slatesAuthNotificationsByMethod,
1066
+ slatesAuthRequestsByMethod,
1067
+ slatesAuthResponsesByMethod,
1068
+ slatesAuthenticationMethod,
1069
+ slatesConfigNotificationsByMethod,
1070
+ slatesConfigRequestsByMethod,
1071
+ slatesConfigResponsesByMethod,
1072
+ slatesControlFlowNotificationsByMethod,
1073
+ slatesIdentifyRequestsByMethod,
1074
+ slatesIdentifyResponsesByMethod,
1075
+ slatesMessageActionGetRequest,
1076
+ slatesMessageActionGetResponse,
1077
+ slatesMessageActionInvokeRequest,
1078
+ slatesMessageActionInvokeResponse,
1079
+ slatesMessageActionTriggerEventMapRequest,
1080
+ slatesMessageActionTriggerEventMapResponse,
1081
+ slatesMessageActionTriggerEventsPollRequest,
1082
+ slatesMessageActionTriggerEventsPollResponse,
1083
+ slatesMessageActionTriggerWebhookHandleRequest,
1084
+ slatesMessageActionTriggerWebhookHandleResponse,
1085
+ slatesMessageActionTriggerWebhookRegisterRequest,
1086
+ slatesMessageActionTriggerWebhookRegisterResponse,
1087
+ slatesMessageActionTriggerWebhookUnregisterRequest,
1088
+ slatesMessageActionTriggerWebhookUnregisterResponse,
1089
+ slatesMessageActionsListRequest,
1090
+ slatesMessageActionsListResponse,
1091
+ slatesMessageAuthAuthorizationCallbackHandleRequest,
1092
+ slatesMessageAuthAuthorizationCallbackHandleResponse,
1093
+ slatesMessageAuthAuthorizationUrlGetRequest,
1094
+ slatesMessageAuthAuthorizationUrlGetResponse,
1095
+ slatesMessageAuthDefaultInputGetRequest,
1096
+ slatesMessageAuthDefaultInputGetResponse,
1097
+ slatesMessageAuthInputChangedRequest,
1098
+ slatesMessageAuthInputChangedResponse,
1099
+ slatesMessageAuthMethodGetRequest,
1100
+ slatesMessageAuthMethodGetResponse,
1101
+ slatesMessageAuthMethodsListRequest,
1102
+ slatesMessageAuthMethodsListResponse,
1103
+ slatesMessageAuthOutputGetRequest,
1104
+ slatesMessageAuthOutputGetResponse,
1105
+ slatesMessageAuthProfileGetRequest,
1106
+ slatesMessageAuthProfileGetResponse,
1107
+ slatesMessageAuthTokenRefreshHandleRequest,
1108
+ slatesMessageAuthTokenRefreshHandleResponse,
1109
+ slatesMessageConfigChangedRequest,
1110
+ slatesMessageConfigChangedResponse,
1111
+ slatesMessageConfigDefaultGetRequest,
1112
+ slatesMessageConfigDefaultGetResponse,
1113
+ slatesMessageConfigSchemaGetRequest,
1114
+ slatesMessageConfigSchemaGetResponse,
1115
+ slatesMessageHelloNotification,
1116
+ slatesMessageProviderIdentifyRequest,
1117
+ slatesMessageProviderIdentifyResponse,
1118
+ slatesMessageSessionStartNotification,
1119
+ slatesMessageSetAuthNotification,
1120
+ slatesMessageSetConfigNotification,
1121
+ slatesMessageSetParticipantsNotification,
1122
+ slatesNotificationsByMethod,
1123
+ slatesParticipant,
1124
+ slatesRequestTrace,
1125
+ slatesRequestTraceTextBody,
1126
+ slatesRequestsByMethod,
1127
+ slatesResponsesByMethod,
1128
+ withRequestTraces
1129
+ });