@dainprotocol/service-sdk 2.0.64 → 2.0.65

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 (81) hide show
  1. package/dist/__tests__/api-sdk.test.d.ts +1 -0
  2. package/dist/__tests__/api-sdk.test.js +102 -0
  3. package/dist/__tests__/api-sdk.test.js.map +1 -0
  4. package/dist/__tests__/auth.test.d.ts +1 -0
  5. package/dist/__tests__/auth.test.js +110 -0
  6. package/dist/__tests__/auth.test.js.map +1 -0
  7. package/dist/__tests__/citations-plugin.test.d.ts +1 -0
  8. package/dist/__tests__/citations-plugin.test.js +491 -0
  9. package/dist/__tests__/citations-plugin.test.js.map +1 -0
  10. package/dist/__tests__/context-behavior.test.d.ts +1 -0
  11. package/dist/__tests__/context-behavior.test.js +290 -0
  12. package/dist/__tests__/context-behavior.test.js.map +1 -0
  13. package/dist/__tests__/convertToVercelTool.test.d.ts +1 -0
  14. package/dist/__tests__/convertToVercelTool.test.js +527 -0
  15. package/dist/__tests__/convertToVercelTool.test.js.map +1 -0
  16. package/dist/__tests__/core.test.d.ts +1 -0
  17. package/dist/__tests__/core.test.js +154 -0
  18. package/dist/__tests__/core.test.js.map +1 -0
  19. package/dist/__tests__/crypto-plugin.test.d.ts +1 -0
  20. package/dist/__tests__/crypto-plugin.test.js +694 -0
  21. package/dist/__tests__/crypto-plugin.test.js.map +1 -0
  22. package/dist/__tests__/humanActions.test.d.ts +1 -0
  23. package/dist/__tests__/humanActions.test.js +221 -0
  24. package/dist/__tests__/humanActions.test.js.map +1 -0
  25. package/dist/__tests__/integration.test.d.ts +1 -0
  26. package/dist/__tests__/integration.test.js +1573 -0
  27. package/dist/__tests__/integration.test.js.map +1 -0
  28. package/dist/__tests__/mealMeSchemas.test.d.ts +576 -0
  29. package/dist/__tests__/mealMeSchemas.test.js +627 -0
  30. package/dist/__tests__/mealMeSchemas.test.js.map +1 -0
  31. package/dist/__tests__/oauth-context-simple.test.d.ts +1 -0
  32. package/dist/__tests__/oauth-context-simple.test.js +90 -0
  33. package/dist/__tests__/oauth-context-simple.test.js.map +1 -0
  34. package/dist/__tests__/oauth-context.test.d.ts +1 -0
  35. package/dist/__tests__/oauth-context.test.js +282 -0
  36. package/dist/__tests__/oauth-context.test.js.map +1 -0
  37. package/dist/__tests__/oauth.test.d.ts +1 -0
  38. package/dist/__tests__/oauth.test.js +378 -0
  39. package/dist/__tests__/oauth.test.js.map +1 -0
  40. package/dist/__tests__/oauth2-client-context.test.d.ts +1 -0
  41. package/dist/__tests__/oauth2-client-context.test.js +165 -0
  42. package/dist/__tests__/oauth2-client-context.test.js.map +1 -0
  43. package/dist/__tests__/oauth2-client-integration.test.d.ts +1 -0
  44. package/dist/__tests__/oauth2-client-integration.test.js +182 -0
  45. package/dist/__tests__/oauth2-client-integration.test.js.map +1 -0
  46. package/dist/__tests__/oauth2-client-simple.test.d.ts +1 -0
  47. package/dist/__tests__/oauth2-client-simple.test.js +144 -0
  48. package/dist/__tests__/oauth2-client-simple.test.js.map +1 -0
  49. package/dist/__tests__/oauth2-context.test.d.ts +1 -0
  50. package/dist/__tests__/oauth2-context.test.js +201 -0
  51. package/dist/__tests__/oauth2-context.test.js.map +1 -0
  52. package/dist/__tests__/oauth2-datasource.test.d.ts +1 -0
  53. package/dist/__tests__/oauth2-datasource.test.js +251 -0
  54. package/dist/__tests__/oauth2-datasource.test.js.map +1 -0
  55. package/dist/__tests__/plugin.test.d.ts +1 -0
  56. package/dist/__tests__/plugin.test.js +900 -0
  57. package/dist/__tests__/plugin.test.js.map +1 -0
  58. package/dist/__tests__/processes.test.d.ts +1 -0
  59. package/dist/__tests__/processes.test.js +239 -0
  60. package/dist/__tests__/processes.test.js.map +1 -0
  61. package/dist/__tests__/streaming.test.d.ts +1 -0
  62. package/dist/__tests__/streaming.test.js +592 -0
  63. package/dist/__tests__/streaming.test.js.map +1 -0
  64. package/dist/__tests__/testEnums.d.ts +1 -0
  65. package/dist/__tests__/testEnums.js +73 -0
  66. package/dist/__tests__/testEnums.js.map +1 -0
  67. package/dist/__tests__/testOptionals.test.d.ts +1 -0
  68. package/dist/__tests__/testOptionals.test.js +83 -0
  69. package/dist/__tests__/testOptionals.test.js.map +1 -0
  70. package/dist/__tests__/types.test.d.ts +1 -0
  71. package/dist/__tests__/types.test.js +98 -0
  72. package/dist/__tests__/types.test.js.map +1 -0
  73. package/dist/client/client.d.ts +2 -1
  74. package/dist/client/client.js +6 -13
  75. package/dist/client/client.js.map +1 -1
  76. package/dist/service/server.js +26 -3
  77. package/dist/service/server.js.map +1 -1
  78. package/dist/service/zod-json-converter.d.ts +14 -0
  79. package/dist/service/zod-json-converter.js +203 -0
  80. package/dist/service/zod-json-converter.js.map +1 -0
  81. package/package.json +9 -10
@@ -0,0 +1,527 @@
1
+ "use strict";
2
+ //File: src/___tests___/convertToVercelTool.test.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const convertToVercelTool_1 = require("../lib/convertToVercelTool");
5
+ const zod_1 = require("zod");
6
+ describe('HTTP to Vercel AI Tool Converter', () => {
7
+ it('should convert a simple HTTP tool output to a Vercel AI tool format', () => {
8
+ const httpToolOutput = {
9
+ id: 'get-weather',
10
+ name: 'Get Weather',
11
+ description: 'Fetches weather for a city',
12
+ pricing: { pricePerUse: 0.01, currency: 'USD' },
13
+ inputSchema: {
14
+ type: 'ZodObject',
15
+ shape: {
16
+ city: {
17
+ type: 'ZodString',
18
+ description: 'The name of the city'
19
+ },
20
+ country: {
21
+ type: 'ZodString',
22
+ description: 'The country of the city'
23
+ }
24
+ }
25
+ },
26
+ outputSchema: {
27
+ type: 'ZodObject',
28
+ shape: {
29
+ temperature: { type: 'ZodNumber' },
30
+ condition: { type: 'ZodString' }
31
+ }
32
+ }
33
+ };
34
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
35
+ expect(vercelAITool).toEqual({
36
+ name: 'get-weather',
37
+ description: 'Fetches weather for a city',
38
+ parameters: expect.any(zod_1.z.ZodObject),
39
+ returnSchema: expect.any(zod_1.z.ZodObject),
40
+ });
41
+ const params = vercelAITool.parameters.safeParse({
42
+ city: 'New York',
43
+ country: 'USA',
44
+ });
45
+ expect(params.success).toBe(true);
46
+ // Use Zod's built-in methods to inspect the schema
47
+ const schemaShape = vercelAITool.parameters._def.shape();
48
+ expect(schemaShape.city.description).toBe('The name of the city');
49
+ expect(schemaShape.country.description).toBe('The country of the city');
50
+ });
51
+ it('should handle complex schemas with nested objects, arrays, and unions', () => {
52
+ const complexHttpToolOutput = {
53
+ id: 'complex-tool',
54
+ name: 'Complex Tool',
55
+ description: 'A tool with a complex schema',
56
+ inputSchema: {
57
+ type: 'ZodObject',
58
+ shape: {
59
+ simpleField: { type: 'ZodString', description: 'A simple string field' },
60
+ arrayField: {
61
+ type: 'ZodArray',
62
+ element: { type: 'ZodNumber', description: 'Array of numbers' },
63
+ description: 'An array field'
64
+ },
65
+ nestedObject: {
66
+ type: 'ZodObject',
67
+ shape: {
68
+ nestedField: { type: 'ZodBoolean', description: 'A nested boolean field' }
69
+ },
70
+ description: 'A nested object'
71
+ },
72
+ unionField: {
73
+ type: 'ZodUnion',
74
+ options: [
75
+ { type: 'ZodString', description: 'String option' },
76
+ { type: 'ZodNumber', description: 'Number option' }
77
+ ],
78
+ description: 'A union field'
79
+ }
80
+ }
81
+ },
82
+ outputSchema: { type: 'ZodAny' }
83
+ };
84
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(complexHttpToolOutput);
85
+ expect(vercelAITool.name).toBe('complex-tool');
86
+ expect(vercelAITool.parameters).toBeInstanceOf(zod_1.z.ZodObject);
87
+ const schemaShape = vercelAITool.parameters._def.shape();
88
+ expect(schemaShape.simpleField).toBeInstanceOf(zod_1.z.ZodString);
89
+ expect(schemaShape.arrayField).toBeInstanceOf(zod_1.z.ZodArray);
90
+ expect(schemaShape.nestedObject).toBeInstanceOf(zod_1.z.ZodObject);
91
+ expect(schemaShape.unionField).toBeInstanceOf(zod_1.z.ZodUnion);
92
+ const validInput = {
93
+ simpleField: 'test',
94
+ arrayField: [1, 2, 3],
95
+ nestedObject: { nestedField: true },
96
+ unionField: 'string'
97
+ };
98
+ const parseResult = vercelAITool.parameters.safeParse(validInput);
99
+ expect(parseResult.success).toBe(true);
100
+ });
101
+ it('should handle ZodOptional schema', () => {
102
+ const httpToolOutput = {
103
+ id: 'optional-tool',
104
+ name: 'Optional Tool',
105
+ description: 'A tool with optional fields',
106
+ inputSchema: {
107
+ type: 'ZodObject',
108
+ shape: {
109
+ requiredField: { type: 'ZodString', description: 'A required field' },
110
+ optionalField: {
111
+ type: 'ZodOptional',
112
+ innerType: { type: 'ZodString' },
113
+ description: 'An optional field'
114
+ }
115
+ }
116
+ },
117
+ outputSchema: { type: 'ZodAny' }
118
+ };
119
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
120
+ const schemaShape = vercelAITool.parameters._def.shape();
121
+ expect(schemaShape.requiredField).toBeInstanceOf(zod_1.z.ZodString);
122
+ expect(schemaShape.optionalField).toBeInstanceOf(zod_1.z.ZodOptional);
123
+ expect(schemaShape.optionalField._def.innerType).toBeInstanceOf(zod_1.z.ZodString);
124
+ const validInput1 = { requiredField: 'test' };
125
+ const validInput2 = { requiredField: 'test', optionalField: 'optional' };
126
+ const invalidInput = { optionalField: 'missing required field' };
127
+ expect(vercelAITool.parameters.safeParse(validInput1).success).toBe(true);
128
+ expect(vercelAITool.parameters.safeParse(validInput2).success).toBe(true);
129
+ expect(vercelAITool.parameters.safeParse(invalidInput).success).toBe(false);
130
+ });
131
+ it('should handle ZodEnum schema', () => {
132
+ const httpToolOutput = {
133
+ id: 'enum-tool',
134
+ name: 'Enum Tool',
135
+ description: 'A tool with enum fields',
136
+ inputSchema: {
137
+ type: 'ZodObject',
138
+ shape: {
139
+ enumField: {
140
+ type: 'ZodEnum',
141
+ values: ['option1', 'option2', 'option3'],
142
+ description: 'An enum field'
143
+ }
144
+ }
145
+ },
146
+ outputSchema: { type: 'ZodAny' }
147
+ };
148
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
149
+ const schemaShape = vercelAITool.parameters._def.shape();
150
+ expect(schemaShape.enumField).toBeInstanceOf(zod_1.z.ZodEnum);
151
+ const validInput = { enumField: 'option2' };
152
+ const invalidInput = { enumField: 'invalidOption' };
153
+ expect(vercelAITool.parameters.safeParse(validInput).success).toBe(true);
154
+ expect(vercelAITool.parameters.safeParse(invalidInput).success).toBe(false);
155
+ });
156
+ it('should handle ZodNullable schema', () => {
157
+ const httpToolOutput = {
158
+ id: 'nullable-tool',
159
+ name: 'Nullable Tool',
160
+ description: 'A tool with nullable fields',
161
+ inputSchema: {
162
+ type: 'ZodObject',
163
+ shape: {
164
+ nullableField: {
165
+ type: 'ZodNullable',
166
+ innerType: { type: 'ZodString' },
167
+ description: 'A nullable field'
168
+ }
169
+ }
170
+ },
171
+ outputSchema: { type: 'ZodAny' }
172
+ };
173
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
174
+ const schemaShape = vercelAITool.parameters._def.shape();
175
+ expect(schemaShape.nullableField).toBeInstanceOf(zod_1.z.ZodNullable);
176
+ const validInput1 = { nullableField: 'test' };
177
+ const validInput2 = { nullableField: null };
178
+ expect(vercelAITool.parameters.safeParse(validInput1).success).toBe(true);
179
+ expect(vercelAITool.parameters.safeParse(validInput2).success).toBe(true);
180
+ });
181
+ it('should handle ZodRecord schema with different key types', () => {
182
+ const httpToolOutput = {
183
+ id: 'record-tool',
184
+ name: 'Record Tool',
185
+ description: 'A tool with record fields',
186
+ inputSchema: {
187
+ type: 'ZodObject',
188
+ shape: {
189
+ stringKeyRecord: {
190
+ type: 'ZodRecord',
191
+ keyType: { type: 'ZodString' },
192
+ valueType: { type: 'ZodNumber' },
193
+ description: 'A record field with string keys'
194
+ },
195
+ numberKeyRecord: {
196
+ type: 'ZodRecord',
197
+ keyType: { type: 'ZodString' }, // Changed to ZodString
198
+ valueType: { type: 'ZodString' },
199
+ description: 'A record field with string keys (representing numbers)'
200
+ }
201
+ }
202
+ },
203
+ outputSchema: { type: 'ZodAny' }
204
+ };
205
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
206
+ const schemaShape = vercelAITool.parameters._def.shape();
207
+ expect(schemaShape.stringKeyRecord).toBeInstanceOf(zod_1.z.ZodRecord);
208
+ expect(schemaShape.numberKeyRecord).toBeInstanceOf(zod_1.z.ZodRecord);
209
+ const validInput = {
210
+ stringKeyRecord: { key1: 1, key2: 2 },
211
+ numberKeyRecord: { '1': 'one', '2': 'two' }
212
+ };
213
+ const invalidInput = {
214
+ stringKeyRecord: { key1: 'string' },
215
+ numberKeyRecord: { key: 'invalid' }
216
+ };
217
+ const validResult = vercelAITool.parameters.safeParse(validInput);
218
+ console.log('Valid input parse result:', validResult);
219
+ const invalidResult = vercelAITool.parameters.safeParse(invalidInput);
220
+ console.log('Invalid input parse result:', invalidResult);
221
+ expect(validResult.success).toBe(true);
222
+ expect(invalidResult.success).toBe(false);
223
+ });
224
+ it('should handle complex nested structures', () => {
225
+ const complexHttpToolOutput = {
226
+ id: 'complex-nested-tool',
227
+ name: 'Complex Nested Tool',
228
+ description: 'A tool with deeply nested structures',
229
+ inputSchema: {
230
+ type: 'ZodObject',
231
+ shape: {
232
+ nestedUnions: {
233
+ type: 'ZodObject',
234
+ shape: {
235
+ unionField: {
236
+ type: 'ZodUnion',
237
+ options: [
238
+ { type: 'ZodString' },
239
+ {
240
+ type: 'ZodObject',
241
+ shape: {
242
+ nestedEnum: {
243
+ type: 'ZodEnum',
244
+ values: ['option1', 'option2']
245
+ }
246
+ }
247
+ }
248
+ ]
249
+ }
250
+ }
251
+ },
252
+ arrayOfUnions: {
253
+ type: 'ZodArray',
254
+ element: {
255
+ type: 'ZodUnion',
256
+ options: [
257
+ { type: 'ZodNumber' },
258
+ { type: 'ZodBoolean' }
259
+ ]
260
+ }
261
+ }
262
+ }
263
+ },
264
+ outputSchema: { type: 'ZodAny' }
265
+ };
266
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(complexHttpToolOutput);
267
+ const schemaShape = vercelAITool.parameters._def.shape();
268
+ expect(schemaShape.nestedUnions).toBeInstanceOf(zod_1.z.ZodObject);
269
+ expect(schemaShape.nestedUnions._def.shape().unionField).toBeInstanceOf(zod_1.z.ZodUnion);
270
+ expect(schemaShape.arrayOfUnions).toBeInstanceOf(zod_1.z.ZodArray);
271
+ expect(schemaShape.arrayOfUnions._def.type).toBeInstanceOf(zod_1.z.ZodUnion);
272
+ const validInput = {
273
+ nestedUnions: {
274
+ unionField: { nestedEnum: 'option1' }
275
+ },
276
+ arrayOfUnions: [1, true, 2, false]
277
+ };
278
+ const invalidInput = {
279
+ nestedUnions: {
280
+ unionField: { nestedEnum: 'invalid' }
281
+ },
282
+ arrayOfUnions: [1, 'string', true]
283
+ };
284
+ expect(vercelAITool.parameters.safeParse(validInput).success).toBe(true);
285
+ expect(vercelAITool.parameters.safeParse(invalidInput).success).toBe(false);
286
+ });
287
+ it('should handle ZodLiteral and ZodTuple', () => {
288
+ const httpToolOutput = {
289
+ id: 'literal-tuple-tool',
290
+ name: 'Literal and Tuple Tool',
291
+ description: 'A tool with literal and tuple fields',
292
+ inputSchema: {
293
+ type: 'ZodObject',
294
+ shape: {
295
+ literalField: {
296
+ type: 'ZodLiteral',
297
+ value: 'specific-value'
298
+ },
299
+ tupleField: {
300
+ type: 'ZodTuple',
301
+ items: [
302
+ { type: 'ZodString' },
303
+ { type: 'ZodNumber' },
304
+ { type: 'ZodBoolean' }
305
+ ]
306
+ }
307
+ }
308
+ },
309
+ outputSchema: { type: 'ZodAny' }
310
+ };
311
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
312
+ const schemaShape = vercelAITool.parameters._def.shape();
313
+ expect(schemaShape.literalField).toBeInstanceOf(zod_1.z.ZodLiteral);
314
+ expect(schemaShape.tupleField).toBeInstanceOf(zod_1.z.ZodTuple);
315
+ const validInput = {
316
+ literalField: 'specific-value',
317
+ tupleField: ['string', 42, true]
318
+ };
319
+ const invalidInput = {
320
+ literalField: 'wrong-value',
321
+ tupleField: ['string', 42, 'not-boolean']
322
+ };
323
+ expect(vercelAITool.parameters.safeParse(validInput).success).toBe(true);
324
+ expect(vercelAITool.parameters.safeParse(invalidInput).success).toBe(false);
325
+ });
326
+ it('should handle ZodIntersection and ZodDiscriminatedUnion', () => {
327
+ const httpToolOutput = {
328
+ id: 'intersection-discriminated-union-tool',
329
+ name: 'Intersection and Discriminated Union Tool',
330
+ description: 'A tool with intersection and discriminated union fields',
331
+ inputSchema: {
332
+ type: 'ZodObject',
333
+ shape: {
334
+ intersectionField: {
335
+ type: 'ZodIntersection',
336
+ left: {
337
+ type: 'ZodObject',
338
+ shape: {
339
+ sharedField: { type: 'ZodString' }
340
+ }
341
+ },
342
+ right: {
343
+ type: 'ZodObject',
344
+ shape: {
345
+ uniqueField: { type: 'ZodNumber' }
346
+ }
347
+ }
348
+ },
349
+ discriminatedUnionField: {
350
+ type: 'ZodDiscriminatedUnion',
351
+ discriminator: 'type',
352
+ options: [
353
+ {
354
+ type: 'ZodObject',
355
+ shape: {
356
+ type: { type: 'ZodLiteral', value: 'a' },
357
+ a: { type: 'ZodString' }
358
+ }
359
+ },
360
+ {
361
+ type: 'ZodObject',
362
+ shape: {
363
+ type: { type: 'ZodLiteral', value: 'b' },
364
+ b: { type: 'ZodNumber' }
365
+ }
366
+ }
367
+ ]
368
+ }
369
+ }
370
+ },
371
+ outputSchema: { type: 'ZodAny' }
372
+ };
373
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
374
+ const schemaShape = vercelAITool.parameters._def.shape();
375
+ expect(schemaShape.intersectionField).toBeInstanceOf(zod_1.z.ZodIntersection);
376
+ expect(schemaShape.discriminatedUnionField).toBeInstanceOf(zod_1.z.ZodDiscriminatedUnion);
377
+ const validInput = {
378
+ intersectionField: {
379
+ sharedField: 'shared',
380
+ uniqueField: 42
381
+ },
382
+ discriminatedUnionField: {
383
+ type: 'a',
384
+ a: 'string value'
385
+ }
386
+ };
387
+ const invalidInput = {
388
+ intersectionField: {
389
+ sharedField: 'shared',
390
+ uniqueField: 'not a number'
391
+ },
392
+ discriminatedUnionField: {
393
+ type: 'c',
394
+ c: 'invalid'
395
+ }
396
+ };
397
+ expect(vercelAITool.parameters.safeParse(validInput).success).toBe(true);
398
+ expect(vercelAITool.parameters.safeParse(invalidInput).success).toBe(false);
399
+ });
400
+ it('should handle ZodRecord and nested arrays with objects', () => {
401
+ const httpToolOutput = {
402
+ id: 'record-nested-array-tool',
403
+ name: 'Record and Nested Array Tool',
404
+ description: 'A tool with record and nested array fields',
405
+ inputSchema: {
406
+ type: 'ZodObject',
407
+ shape: {
408
+ recordField: {
409
+ type: 'ZodRecord',
410
+ keyType: { type: 'ZodString' },
411
+ valueType: { type: 'ZodNumber' },
412
+ description: 'A record field'
413
+ },
414
+ nestedArrayField: {
415
+ type: 'ZodArray',
416
+ element: {
417
+ type: 'ZodObject',
418
+ shape: {
419
+ name: { type: 'ZodString' },
420
+ value: { type: 'ZodNumber' }
421
+ }
422
+ },
423
+ description: 'A nested array field with objects'
424
+ }
425
+ }
426
+ },
427
+ outputSchema: { type: 'ZodAny' }
428
+ };
429
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
430
+ const schemaShape = vercelAITool.parameters._def.shape();
431
+ expect(schemaShape.recordField).toBeInstanceOf(zod_1.z.ZodRecord);
432
+ expect(schemaShape.nestedArrayField).toBeInstanceOf(zod_1.z.ZodArray);
433
+ const validInput = {
434
+ recordField: { key1: 1, key2: 2 },
435
+ nestedArrayField: [
436
+ { name: 'item1', value: 10 },
437
+ { name: 'item2', value: 20 }
438
+ ]
439
+ };
440
+ const invalidInput = {
441
+ recordField: { key1: 'not a number' },
442
+ nestedArrayField: [
443
+ { name: 'item1', value: 'not a number' },
444
+ { invalidKey: 'invalid' }
445
+ ]
446
+ };
447
+ const validResult = vercelAITool.parameters.safeParse(validInput);
448
+ const invalidResult = vercelAITool.parameters.safeParse(invalidInput);
449
+ expect(validResult.success).toBe(true);
450
+ expect(invalidResult.success).toBe(false);
451
+ });
452
+ it('should handle deeply nested structures with records and arrays', () => {
453
+ const httpToolOutput = {
454
+ id: 'deep-nested-tool',
455
+ name: 'Deep Nested Tool',
456
+ description: 'A tool with deeply nested structures including records and arrays',
457
+ inputSchema: {
458
+ type: 'ZodObject',
459
+ shape: {
460
+ deeplyNested: {
461
+ type: 'ZodObject',
462
+ shape: {
463
+ recordOfArrays: {
464
+ type: 'ZodRecord',
465
+ keyType: { type: 'ZodString' },
466
+ valueType: {
467
+ type: 'ZodArray',
468
+ element: {
469
+ type: 'ZodObject',
470
+ shape: {
471
+ id: { type: 'ZodNumber' },
472
+ name: { type: 'ZodString' }
473
+ }
474
+ }
475
+ }
476
+ },
477
+ arrayOfRecords: {
478
+ type: 'ZodArray',
479
+ element: {
480
+ type: 'ZodRecord',
481
+ keyType: { type: 'ZodString' },
482
+ valueType: { type: 'ZodUnion', options: [
483
+ { type: 'ZodString' },
484
+ { type: 'ZodNumber' }
485
+ ] }
486
+ }
487
+ }
488
+ }
489
+ }
490
+ }
491
+ },
492
+ outputSchema: { type: 'ZodAny' }
493
+ };
494
+ const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpToolOutput);
495
+ const schemaShape = vercelAITool.parameters._def.shape();
496
+ expect(schemaShape.deeplyNested).toBeInstanceOf(zod_1.z.ZodObject);
497
+ expect(schemaShape.deeplyNested._def.shape().recordOfArrays).toBeInstanceOf(zod_1.z.ZodRecord);
498
+ expect(schemaShape.deeplyNested._def.shape().arrayOfRecords).toBeInstanceOf(zod_1.z.ZodArray);
499
+ const validInput = {
500
+ deeplyNested: {
501
+ recordOfArrays: {
502
+ key1: [{ id: 1, name: 'Item 1' }, { id: 2, name: 'Item 2' }],
503
+ key2: [{ id: 3, name: 'Item 3' }]
504
+ },
505
+ arrayOfRecords: [
506
+ { field1: 'string', field2: 42 },
507
+ { field3: 'another string', field4: 100 }
508
+ ]
509
+ }
510
+ };
511
+ const invalidInput = {
512
+ deeplyNested: {
513
+ recordOfArrays: {
514
+ key1: [{ id: 'not a number', name: 'Item 1' }]
515
+ },
516
+ arrayOfRecords: [
517
+ { field1: true, field2: 42 }
518
+ ]
519
+ }
520
+ };
521
+ const validResult = vercelAITool.parameters.safeParse(validInput);
522
+ const invalidResult = vercelAITool.parameters.safeParse(invalidInput);
523
+ expect(validResult.success).toBe(true);
524
+ expect(invalidResult.success).toBe(false);
525
+ });
526
+ });
527
+ //# sourceMappingURL=convertToVercelTool.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToVercelTool.test.js","sourceRoot":"","sources":["../../src/__tests__/convertToVercelTool.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};