@zavudev/sdk-mcp 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +3 -3
  2. package/code-tool.d.mts +4 -1
  3. package/code-tool.d.mts.map +1 -1
  4. package/code-tool.d.ts +4 -1
  5. package/code-tool.d.ts.map +1 -1
  6. package/code-tool.js +17 -4
  7. package/code-tool.js.map +1 -1
  8. package/code-tool.mjs +18 -5
  9. package/code-tool.mjs.map +1 -1
  10. package/headers.d.mts +1 -1
  11. package/headers.d.mts.map +1 -1
  12. package/headers.d.ts +1 -1
  13. package/headers.d.ts.map +1 -1
  14. package/headers.js +4 -1
  15. package/headers.js.map +1 -1
  16. package/headers.mjs +4 -1
  17. package/headers.mjs.map +1 -1
  18. package/http.d.mts +8 -3
  19. package/http.d.mts.map +1 -1
  20. package/http.d.ts +8 -3
  21. package/http.d.ts.map +1 -1
  22. package/http.js +27 -10
  23. package/http.js.map +1 -1
  24. package/http.mjs +27 -10
  25. package/http.mjs.map +1 -1
  26. package/index.js +6 -2
  27. package/index.js.map +1 -1
  28. package/index.mjs +6 -2
  29. package/index.mjs.map +1 -1
  30. package/methods.d.mts +10 -0
  31. package/methods.d.mts.map +1 -0
  32. package/methods.d.ts +10 -0
  33. package/methods.d.ts.map +1 -0
  34. package/methods.js +526 -0
  35. package/methods.js.map +1 -0
  36. package/methods.mjs +522 -0
  37. package/methods.mjs.map +1 -0
  38. package/options.d.mts +4 -0
  39. package/options.d.mts.map +1 -1
  40. package/options.d.ts +4 -0
  41. package/options.d.ts.map +1 -1
  42. package/options.js +31 -12
  43. package/options.js.map +1 -1
  44. package/options.mjs +31 -12
  45. package/options.mjs.map +1 -1
  46. package/package.json +15 -2
  47. package/server.d.mts +3 -3
  48. package/server.d.mts.map +1 -1
  49. package/server.d.ts +3 -3
  50. package/server.d.ts.map +1 -1
  51. package/server.js +47 -8
  52. package/server.js.map +1 -1
  53. package/server.mjs +45 -7
  54. package/server.mjs.map +1 -1
  55. package/src/code-tool.ts +28 -5
  56. package/src/headers.ts +3 -1
  57. package/src/http.ts +37 -13
  58. package/src/index.ts +6 -2
  59. package/src/methods.ts +546 -0
  60. package/src/options.ts +38 -12
  61. package/src/server.ts +56 -8
  62. package/src/stdio.ts +4 -3
  63. package/stdio.d.mts +2 -1
  64. package/stdio.d.mts.map +1 -1
  65. package/stdio.d.ts +2 -1
  66. package/stdio.d.ts.map +1 -1
  67. package/stdio.js +3 -3
  68. package/stdio.js.map +1 -1
  69. package/stdio.mjs +3 -3
  70. package/stdio.mjs.map +1 -1
package/methods.js ADDED
@@ -0,0 +1,526 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sdkMethods = void 0;
4
+ exports.blockedMethodsForCodeTool = blockedMethodsForCodeTool;
5
+ exports.sdkMethods = [
6
+ {
7
+ clientCallName: 'client.messages.retrieve',
8
+ fullyQualifiedName: 'messages.retrieve',
9
+ httpMethod: 'get',
10
+ httpPath: '/v1/messages/{messageId}',
11
+ },
12
+ {
13
+ clientCallName: 'client.messages.list',
14
+ fullyQualifiedName: 'messages.list',
15
+ httpMethod: 'get',
16
+ httpPath: '/v1/messages',
17
+ },
18
+ {
19
+ clientCallName: 'client.messages.react',
20
+ fullyQualifiedName: 'messages.react',
21
+ httpMethod: 'post',
22
+ httpPath: '/v1/messages/{messageId}/reactions',
23
+ },
24
+ {
25
+ clientCallName: 'client.messages.send',
26
+ fullyQualifiedName: 'messages.send',
27
+ httpMethod: 'post',
28
+ httpPath: '/v1/messages',
29
+ },
30
+ {
31
+ clientCallName: 'client.templates.create',
32
+ fullyQualifiedName: 'templates.create',
33
+ httpMethod: 'post',
34
+ httpPath: '/v1/templates',
35
+ },
36
+ {
37
+ clientCallName: 'client.templates.retrieve',
38
+ fullyQualifiedName: 'templates.retrieve',
39
+ httpMethod: 'get',
40
+ httpPath: '/v1/templates/{templateId}',
41
+ },
42
+ {
43
+ clientCallName: 'client.templates.list',
44
+ fullyQualifiedName: 'templates.list',
45
+ httpMethod: 'get',
46
+ httpPath: '/v1/templates',
47
+ },
48
+ {
49
+ clientCallName: 'client.templates.delete',
50
+ fullyQualifiedName: 'templates.delete',
51
+ httpMethod: 'delete',
52
+ httpPath: '/v1/templates/{templateId}',
53
+ },
54
+ {
55
+ clientCallName: 'client.templates.submit',
56
+ fullyQualifiedName: 'templates.submit',
57
+ httpMethod: 'post',
58
+ httpPath: '/v1/templates/{templateId}/submit',
59
+ },
60
+ {
61
+ clientCallName: 'client.senders.create',
62
+ fullyQualifiedName: 'senders.create',
63
+ httpMethod: 'post',
64
+ httpPath: '/v1/senders',
65
+ },
66
+ {
67
+ clientCallName: 'client.senders.retrieve',
68
+ fullyQualifiedName: 'senders.retrieve',
69
+ httpMethod: 'get',
70
+ httpPath: '/v1/senders/{senderId}',
71
+ },
72
+ {
73
+ clientCallName: 'client.senders.update',
74
+ fullyQualifiedName: 'senders.update',
75
+ httpMethod: 'patch',
76
+ httpPath: '/v1/senders/{senderId}',
77
+ },
78
+ {
79
+ clientCallName: 'client.senders.list',
80
+ fullyQualifiedName: 'senders.list',
81
+ httpMethod: 'get',
82
+ httpPath: '/v1/senders',
83
+ },
84
+ {
85
+ clientCallName: 'client.senders.delete',
86
+ fullyQualifiedName: 'senders.delete',
87
+ httpMethod: 'delete',
88
+ httpPath: '/v1/senders/{senderId}',
89
+ },
90
+ {
91
+ clientCallName: 'client.senders.getProfile',
92
+ fullyQualifiedName: 'senders.getProfile',
93
+ httpMethod: 'get',
94
+ httpPath: '/v1/senders/{senderId}/profile',
95
+ },
96
+ {
97
+ clientCallName: 'client.senders.regenerateWebhookSecret',
98
+ fullyQualifiedName: 'senders.regenerateWebhookSecret',
99
+ httpMethod: 'post',
100
+ httpPath: '/v1/senders/{senderId}/webhook/secret',
101
+ },
102
+ {
103
+ clientCallName: 'client.senders.updateProfile',
104
+ fullyQualifiedName: 'senders.updateProfile',
105
+ httpMethod: 'patch',
106
+ httpPath: '/v1/senders/{senderId}/profile',
107
+ },
108
+ {
109
+ clientCallName: 'client.senders.uploadProfilePicture',
110
+ fullyQualifiedName: 'senders.uploadProfilePicture',
111
+ httpMethod: 'post',
112
+ httpPath: '/v1/senders/{senderId}/profile/picture',
113
+ },
114
+ {
115
+ clientCallName: 'client.senders.agent.create',
116
+ fullyQualifiedName: 'senders.agent.create',
117
+ httpMethod: 'post',
118
+ httpPath: '/v1/senders/{senderId}/agent',
119
+ },
120
+ {
121
+ clientCallName: 'client.senders.agent.retrieve',
122
+ fullyQualifiedName: 'senders.agent.retrieve',
123
+ httpMethod: 'get',
124
+ httpPath: '/v1/senders/{senderId}/agent',
125
+ },
126
+ {
127
+ clientCallName: 'client.senders.agent.update',
128
+ fullyQualifiedName: 'senders.agent.update',
129
+ httpMethod: 'patch',
130
+ httpPath: '/v1/senders/{senderId}/agent',
131
+ },
132
+ {
133
+ clientCallName: 'client.senders.agent.delete',
134
+ fullyQualifiedName: 'senders.agent.delete',
135
+ httpMethod: 'delete',
136
+ httpPath: '/v1/senders/{senderId}/agent',
137
+ },
138
+ {
139
+ clientCallName: 'client.senders.agent.stats',
140
+ fullyQualifiedName: 'senders.agent.stats',
141
+ httpMethod: 'get',
142
+ httpPath: '/v1/senders/{senderId}/agent/stats',
143
+ },
144
+ {
145
+ clientCallName: 'client.senders.agent.executions.list',
146
+ fullyQualifiedName: 'senders.agent.executions.list',
147
+ httpMethod: 'get',
148
+ httpPath: '/v1/senders/{senderId}/agent/executions',
149
+ },
150
+ {
151
+ clientCallName: 'client.senders.agent.flows.create',
152
+ fullyQualifiedName: 'senders.agent.flows.create',
153
+ httpMethod: 'post',
154
+ httpPath: '/v1/senders/{senderId}/agent/flows',
155
+ },
156
+ {
157
+ clientCallName: 'client.senders.agent.flows.retrieve',
158
+ fullyQualifiedName: 'senders.agent.flows.retrieve',
159
+ httpMethod: 'get',
160
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
161
+ },
162
+ {
163
+ clientCallName: 'client.senders.agent.flows.update',
164
+ fullyQualifiedName: 'senders.agent.flows.update',
165
+ httpMethod: 'patch',
166
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
167
+ },
168
+ {
169
+ clientCallName: 'client.senders.agent.flows.list',
170
+ fullyQualifiedName: 'senders.agent.flows.list',
171
+ httpMethod: 'get',
172
+ httpPath: '/v1/senders/{senderId}/agent/flows',
173
+ },
174
+ {
175
+ clientCallName: 'client.senders.agent.flows.delete',
176
+ fullyQualifiedName: 'senders.agent.flows.delete',
177
+ httpMethod: 'delete',
178
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}',
179
+ },
180
+ {
181
+ clientCallName: 'client.senders.agent.flows.duplicate',
182
+ fullyQualifiedName: 'senders.agent.flows.duplicate',
183
+ httpMethod: 'post',
184
+ httpPath: '/v1/senders/{senderId}/agent/flows/{flowId}/duplicate',
185
+ },
186
+ {
187
+ clientCallName: 'client.senders.agent.tools.create',
188
+ fullyQualifiedName: 'senders.agent.tools.create',
189
+ httpMethod: 'post',
190
+ httpPath: '/v1/senders/{senderId}/agent/tools',
191
+ },
192
+ {
193
+ clientCallName: 'client.senders.agent.tools.retrieve',
194
+ fullyQualifiedName: 'senders.agent.tools.retrieve',
195
+ httpMethod: 'get',
196
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
197
+ },
198
+ {
199
+ clientCallName: 'client.senders.agent.tools.update',
200
+ fullyQualifiedName: 'senders.agent.tools.update',
201
+ httpMethod: 'patch',
202
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
203
+ },
204
+ {
205
+ clientCallName: 'client.senders.agent.tools.list',
206
+ fullyQualifiedName: 'senders.agent.tools.list',
207
+ httpMethod: 'get',
208
+ httpPath: '/v1/senders/{senderId}/agent/tools',
209
+ },
210
+ {
211
+ clientCallName: 'client.senders.agent.tools.delete',
212
+ fullyQualifiedName: 'senders.agent.tools.delete',
213
+ httpMethod: 'delete',
214
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}',
215
+ },
216
+ {
217
+ clientCallName: 'client.senders.agent.tools.test',
218
+ fullyQualifiedName: 'senders.agent.tools.test',
219
+ httpMethod: 'post',
220
+ httpPath: '/v1/senders/{senderId}/agent/tools/{toolId}/test',
221
+ },
222
+ {
223
+ clientCallName: 'client.senders.agent.knowledgeBases.create',
224
+ fullyQualifiedName: 'senders.agent.knowledgeBases.create',
225
+ httpMethod: 'post',
226
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases',
227
+ },
228
+ {
229
+ clientCallName: 'client.senders.agent.knowledgeBases.retrieve',
230
+ fullyQualifiedName: 'senders.agent.knowledgeBases.retrieve',
231
+ httpMethod: 'get',
232
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
233
+ },
234
+ {
235
+ clientCallName: 'client.senders.agent.knowledgeBases.update',
236
+ fullyQualifiedName: 'senders.agent.knowledgeBases.update',
237
+ httpMethod: 'patch',
238
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
239
+ },
240
+ {
241
+ clientCallName: 'client.senders.agent.knowledgeBases.list',
242
+ fullyQualifiedName: 'senders.agent.knowledgeBases.list',
243
+ httpMethod: 'get',
244
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases',
245
+ },
246
+ {
247
+ clientCallName: 'client.senders.agent.knowledgeBases.delete',
248
+ fullyQualifiedName: 'senders.agent.knowledgeBases.delete',
249
+ httpMethod: 'delete',
250
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}',
251
+ },
252
+ {
253
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.create',
254
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.create',
255
+ httpMethod: 'post',
256
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents',
257
+ },
258
+ {
259
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.list',
260
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.list',
261
+ httpMethod: 'get',
262
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents',
263
+ },
264
+ {
265
+ clientCallName: 'client.senders.agent.knowledgeBases.documents.delete',
266
+ fullyQualifiedName: 'senders.agent.knowledgeBases.documents.delete',
267
+ httpMethod: 'delete',
268
+ httpPath: '/v1/senders/{senderId}/agent/knowledge-bases/{kbId}/documents/{docId}',
269
+ },
270
+ {
271
+ clientCallName: 'client.contacts.retrieve',
272
+ fullyQualifiedName: 'contacts.retrieve',
273
+ httpMethod: 'get',
274
+ httpPath: '/v1/contacts/{contactId}',
275
+ },
276
+ {
277
+ clientCallName: 'client.contacts.update',
278
+ fullyQualifiedName: 'contacts.update',
279
+ httpMethod: 'patch',
280
+ httpPath: '/v1/contacts/{contactId}',
281
+ },
282
+ {
283
+ clientCallName: 'client.contacts.list',
284
+ fullyQualifiedName: 'contacts.list',
285
+ httpMethod: 'get',
286
+ httpPath: '/v1/contacts',
287
+ },
288
+ {
289
+ clientCallName: 'client.contacts.retrieveByPhone',
290
+ fullyQualifiedName: 'contacts.retrieveByPhone',
291
+ httpMethod: 'get',
292
+ httpPath: '/v1/contacts/phone/{phoneNumber}',
293
+ },
294
+ {
295
+ clientCallName: 'client.broadcasts.create',
296
+ fullyQualifiedName: 'broadcasts.create',
297
+ httpMethod: 'post',
298
+ httpPath: '/v1/broadcasts',
299
+ },
300
+ {
301
+ clientCallName: 'client.broadcasts.retrieve',
302
+ fullyQualifiedName: 'broadcasts.retrieve',
303
+ httpMethod: 'get',
304
+ httpPath: '/v1/broadcasts/{broadcastId}',
305
+ },
306
+ {
307
+ clientCallName: 'client.broadcasts.update',
308
+ fullyQualifiedName: 'broadcasts.update',
309
+ httpMethod: 'patch',
310
+ httpPath: '/v1/broadcasts/{broadcastId}',
311
+ },
312
+ {
313
+ clientCallName: 'client.broadcasts.list',
314
+ fullyQualifiedName: 'broadcasts.list',
315
+ httpMethod: 'get',
316
+ httpPath: '/v1/broadcasts',
317
+ },
318
+ {
319
+ clientCallName: 'client.broadcasts.delete',
320
+ fullyQualifiedName: 'broadcasts.delete',
321
+ httpMethod: 'delete',
322
+ httpPath: '/v1/broadcasts/{broadcastId}',
323
+ },
324
+ {
325
+ clientCallName: 'client.broadcasts.cancel',
326
+ fullyQualifiedName: 'broadcasts.cancel',
327
+ httpMethod: 'post',
328
+ httpPath: '/v1/broadcasts/{broadcastId}/cancel',
329
+ },
330
+ {
331
+ clientCallName: 'client.broadcasts.progress',
332
+ fullyQualifiedName: 'broadcasts.progress',
333
+ httpMethod: 'get',
334
+ httpPath: '/v1/broadcasts/{broadcastId}/progress',
335
+ },
336
+ {
337
+ clientCallName: 'client.broadcasts.reschedule',
338
+ fullyQualifiedName: 'broadcasts.reschedule',
339
+ httpMethod: 'patch',
340
+ httpPath: '/v1/broadcasts/{broadcastId}/schedule',
341
+ },
342
+ {
343
+ clientCallName: 'client.broadcasts.send',
344
+ fullyQualifiedName: 'broadcasts.send',
345
+ httpMethod: 'post',
346
+ httpPath: '/v1/broadcasts/{broadcastId}/send',
347
+ },
348
+ {
349
+ clientCallName: 'client.broadcasts.contacts.list',
350
+ fullyQualifiedName: 'broadcasts.contacts.list',
351
+ httpMethod: 'get',
352
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts',
353
+ },
354
+ {
355
+ clientCallName: 'client.broadcasts.contacts.add',
356
+ fullyQualifiedName: 'broadcasts.contacts.add',
357
+ httpMethod: 'post',
358
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts',
359
+ },
360
+ {
361
+ clientCallName: 'client.broadcasts.contacts.remove',
362
+ fullyQualifiedName: 'broadcasts.contacts.remove',
363
+ httpMethod: 'delete',
364
+ httpPath: '/v1/broadcasts/{broadcastId}/contacts/{contactId}',
365
+ },
366
+ {
367
+ clientCallName: 'client.introspect.validatePhone',
368
+ fullyQualifiedName: 'introspect.validatePhone',
369
+ httpMethod: 'post',
370
+ httpPath: '/v1/introspect/phone',
371
+ },
372
+ {
373
+ clientCallName: 'client.phoneNumbers.retrieve',
374
+ fullyQualifiedName: 'phoneNumbers.retrieve',
375
+ httpMethod: 'get',
376
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
377
+ },
378
+ {
379
+ clientCallName: 'client.phoneNumbers.update',
380
+ fullyQualifiedName: 'phoneNumbers.update',
381
+ httpMethod: 'patch',
382
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
383
+ },
384
+ {
385
+ clientCallName: 'client.phoneNumbers.list',
386
+ fullyQualifiedName: 'phoneNumbers.list',
387
+ httpMethod: 'get',
388
+ httpPath: '/v1/phone-numbers',
389
+ },
390
+ {
391
+ clientCallName: 'client.phoneNumbers.purchase',
392
+ fullyQualifiedName: 'phoneNumbers.purchase',
393
+ httpMethod: 'post',
394
+ httpPath: '/v1/phone-numbers',
395
+ },
396
+ {
397
+ clientCallName: 'client.phoneNumbers.release',
398
+ fullyQualifiedName: 'phoneNumbers.release',
399
+ httpMethod: 'delete',
400
+ httpPath: '/v1/phone-numbers/{phoneNumberId}',
401
+ },
402
+ {
403
+ clientCallName: 'client.phoneNumbers.requirements',
404
+ fullyQualifiedName: 'phoneNumbers.requirements',
405
+ httpMethod: 'get',
406
+ httpPath: '/v1/phone-numbers/requirements',
407
+ },
408
+ {
409
+ clientCallName: 'client.phoneNumbers.searchAvailable',
410
+ fullyQualifiedName: 'phoneNumbers.searchAvailable',
411
+ httpMethod: 'get',
412
+ httpPath: '/v1/phone-numbers/available',
413
+ },
414
+ {
415
+ clientCallName: 'client.addresses.create',
416
+ fullyQualifiedName: 'addresses.create',
417
+ httpMethod: 'post',
418
+ httpPath: '/v1/addresses',
419
+ },
420
+ {
421
+ clientCallName: 'client.addresses.retrieve',
422
+ fullyQualifiedName: 'addresses.retrieve',
423
+ httpMethod: 'get',
424
+ httpPath: '/v1/addresses/{addressId}',
425
+ },
426
+ {
427
+ clientCallName: 'client.addresses.list',
428
+ fullyQualifiedName: 'addresses.list',
429
+ httpMethod: 'get',
430
+ httpPath: '/v1/addresses',
431
+ },
432
+ {
433
+ clientCallName: 'client.addresses.delete',
434
+ fullyQualifiedName: 'addresses.delete',
435
+ httpMethod: 'delete',
436
+ httpPath: '/v1/addresses/{addressId}',
437
+ },
438
+ {
439
+ clientCallName: 'client.regulatoryDocuments.create',
440
+ fullyQualifiedName: 'regulatoryDocuments.create',
441
+ httpMethod: 'post',
442
+ httpPath: '/v1/documents',
443
+ },
444
+ {
445
+ clientCallName: 'client.regulatoryDocuments.retrieve',
446
+ fullyQualifiedName: 'regulatoryDocuments.retrieve',
447
+ httpMethod: 'get',
448
+ httpPath: '/v1/documents/{documentId}',
449
+ },
450
+ {
451
+ clientCallName: 'client.regulatoryDocuments.list',
452
+ fullyQualifiedName: 'regulatoryDocuments.list',
453
+ httpMethod: 'get',
454
+ httpPath: '/v1/documents',
455
+ },
456
+ {
457
+ clientCallName: 'client.regulatoryDocuments.delete',
458
+ fullyQualifiedName: 'regulatoryDocuments.delete',
459
+ httpMethod: 'delete',
460
+ httpPath: '/v1/documents/{documentId}',
461
+ },
462
+ {
463
+ clientCallName: 'client.regulatoryDocuments.uploadURL',
464
+ fullyQualifiedName: 'regulatoryDocuments.uploadURL',
465
+ httpMethod: 'post',
466
+ httpPath: '/v1/documents/upload-url',
467
+ },
468
+ ];
469
+ function allowedMethodsForCodeTool(options) {
470
+ if (!options) {
471
+ return undefined;
472
+ }
473
+ let allowedMethods;
474
+ if (options.codeAllowHttpGets || options.codeAllowedMethods) {
475
+ // Start with nothing allowed and then add into it from options
476
+ let allowedMethodsSet = new Set();
477
+ if (options.codeAllowHttpGets) {
478
+ // Add all methods that map to an HTTP GET
479
+ exports.sdkMethods
480
+ .filter((method) => method.httpMethod === 'get')
481
+ .forEach((method) => allowedMethodsSet.add(method));
482
+ }
483
+ if (options.codeAllowedMethods) {
484
+ // Add all methods that match any of the allowed regexps
485
+ const allowedRegexps = options.codeAllowedMethods.map((pattern) => {
486
+ try {
487
+ return new RegExp(pattern);
488
+ }
489
+ catch (e) {
490
+ throw new Error(`Invalid regex pattern for allowed method: "${pattern}": ${e instanceof Error ? e.message : e}`);
491
+ }
492
+ });
493
+ exports.sdkMethods
494
+ .filter((method) => allowedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)))
495
+ .forEach((method) => allowedMethodsSet.add(method));
496
+ }
497
+ allowedMethods = Array.from(allowedMethodsSet);
498
+ }
499
+ else {
500
+ // Start with everything allowed
501
+ allowedMethods = [...exports.sdkMethods];
502
+ }
503
+ if (options.codeBlockedMethods) {
504
+ // Filter down based on blocked regexps
505
+ const blockedRegexps = options.codeBlockedMethods.map((pattern) => {
506
+ try {
507
+ return new RegExp(pattern);
508
+ }
509
+ catch (e) {
510
+ throw new Error(`Invalid regex pattern for blocked method: "${pattern}": ${e instanceof Error ? e.message : e}`);
511
+ }
512
+ });
513
+ allowedMethods = allowedMethods.filter((method) => !blockedRegexps.some((regexp) => regexp.test(method.fullyQualifiedName)));
514
+ }
515
+ return allowedMethods;
516
+ }
517
+ function blockedMethodsForCodeTool(options) {
518
+ const allowedMethods = allowedMethodsForCodeTool(options);
519
+ if (!allowedMethods) {
520
+ return undefined;
521
+ }
522
+ const allowedSet = new Set(allowedMethods.map((method) => method.fullyQualifiedName));
523
+ // Return any methods that are not explicitly allowed
524
+ return exports.sdkMethods.filter((method) => !allowedSet.has(method.fullyQualifiedName));
525
+ }
526
+ //# sourceMappingURL=methods.js.map
package/methods.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["src/methods.ts"],"names":[],"mappings":"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"}