@polka-codes/core 0.10.13 → 0.10.16

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 (250) hide show
  1. package/dist/Agent/backoff.d.ts +7 -0
  2. package/dist/Agent/backoff.js +21 -0
  3. package/dist/Agent/backoff.js.map +1 -0
  4. package/dist/Agent/index.d.ts +2 -0
  5. package/dist/Agent/index.js +3 -0
  6. package/dist/Agent/index.js.map +1 -0
  7. package/dist/Agent/parseJsonFromMarkdown.d.ts +8 -0
  8. package/dist/Agent/parseJsonFromMarkdown.js +34 -0
  9. package/dist/Agent/parseJsonFromMarkdown.js.map +1 -0
  10. package/dist/Agent/parseJsonFromMarkdown.test.d.ts +1 -0
  11. package/dist/Agent/parseJsonFromMarkdown.test.js +70 -0
  12. package/dist/Agent/parseJsonFromMarkdown.test.js.map +1 -0
  13. package/dist/Agent/prompts.d.ts +9 -0
  14. package/dist/Agent/prompts.js +107 -0
  15. package/dist/Agent/prompts.js.map +1 -0
  16. package/dist/UsageMeter.d.ts +101 -0
  17. package/dist/UsageMeter.js +299 -0
  18. package/dist/UsageMeter.js.map +1 -0
  19. package/dist/UsageMeter.test.d.ts +4 -0
  20. package/dist/UsageMeter.test.js +556 -0
  21. package/dist/UsageMeter.test.js.map +1 -0
  22. package/dist/config/base.d.ts +68 -0
  23. package/dist/config/base.js +56 -0
  24. package/dist/config/base.js.map +1 -0
  25. package/dist/config/memory.d.ts +24 -0
  26. package/dist/config/memory.js +36 -0
  27. package/dist/config/memory.js.map +1 -0
  28. package/dist/config.d.ts +236 -0
  29. package/dist/config.js +184 -0
  30. package/dist/config.js.map +1 -0
  31. package/dist/errors/base.d.ts +31 -0
  32. package/dist/errors/base.js +60 -0
  33. package/dist/errors/base.js.map +1 -0
  34. package/dist/errors/index.d.ts +1 -0
  35. package/dist/errors/index.js +3 -0
  36. package/dist/errors/index.js.map +1 -0
  37. package/dist/fs/index.d.ts +2 -0
  38. package/dist/fs/index.js +3 -0
  39. package/dist/fs/index.js.map +1 -0
  40. package/dist/fs/node-provider.d.ts +16 -0
  41. package/dist/fs/node-provider.js +47 -0
  42. package/dist/fs/node-provider.js.map +1 -0
  43. package/dist/fs/provider.d.ts +61 -0
  44. package/dist/fs/provider.js +3 -0
  45. package/dist/fs/provider.js.map +1 -0
  46. package/dist/index.d.ts +20 -191
  47. package/dist/index.js +21 -4123
  48. package/dist/index.js.map +1 -0
  49. package/dist/memory/index.d.ts +1 -0
  50. package/dist/memory/index.js +2 -0
  51. package/dist/memory/index.js.map +1 -0
  52. package/dist/memory/types.d.ts +136 -0
  53. package/dist/memory/types.js +2 -0
  54. package/dist/memory/types.js.map +1 -0
  55. package/dist/path.d.ts +9 -0
  56. package/dist/path.js +68 -0
  57. package/dist/path.js.map +1 -0
  58. package/dist/path.test.d.ts +1 -0
  59. package/dist/path.test.js +82 -0
  60. package/dist/path.test.js.map +1 -0
  61. package/dist/pricing/converter.d.ts +6 -0
  62. package/dist/pricing/converter.js +13 -0
  63. package/dist/pricing/converter.js.map +1 -0
  64. package/dist/pricing/converter.test.d.ts +1 -0
  65. package/dist/pricing/converter.test.js +54 -0
  66. package/dist/pricing/converter.test.js.map +1 -0
  67. package/dist/pricing/index.d.ts +2 -0
  68. package/dist/pricing/index.js +2 -0
  69. package/dist/pricing/index.js.map +1 -0
  70. package/dist/pricing/portkey-client.d.ts +2 -0
  71. package/dist/pricing/portkey-client.js +57 -0
  72. package/dist/pricing/portkey-client.js.map +1 -0
  73. package/dist/pricing/pricing-service.d.ts +6 -0
  74. package/dist/pricing/pricing-service.js +125 -0
  75. package/dist/pricing/pricing-service.js.map +1 -0
  76. package/dist/pricing/pricing-service.test.d.ts +1 -0
  77. package/dist/pricing/pricing-service.test.js +141 -0
  78. package/dist/pricing/pricing-service.test.js.map +1 -0
  79. package/dist/pricing/types.d.ts +24 -0
  80. package/dist/pricing/types.js +2 -0
  81. package/dist/pricing/types.js.map +1 -0
  82. package/dist/skills/__tests__/discovery.test.d.ts +1 -0
  83. package/dist/skills/__tests__/discovery.test.js +254 -0
  84. package/dist/skills/__tests__/discovery.test.js.map +1 -0
  85. package/dist/skills/__tests__/validation.test.d.ts +1 -0
  86. package/dist/skills/__tests__/validation.test.js +221 -0
  87. package/dist/skills/__tests__/validation.test.js.map +1 -0
  88. package/dist/skills/constants.d.ts +32 -0
  89. package/dist/skills/constants.js +50 -0
  90. package/dist/skills/constants.js.map +1 -0
  91. package/dist/skills/discovery.d.ts +56 -0
  92. package/dist/skills/discovery.js +392 -0
  93. package/dist/skills/discovery.js.map +1 -0
  94. package/dist/skills/index.d.ts +4 -0
  95. package/dist/skills/index.js +6 -0
  96. package/dist/skills/index.js.map +1 -0
  97. package/dist/skills/tools/index.d.ts +3 -0
  98. package/dist/skills/tools/index.js +5 -0
  99. package/dist/skills/tools/index.js.map +1 -0
  100. package/dist/skills/tools/listSkills.d.ts +54 -0
  101. package/dist/skills/tools/listSkills.js +52 -0
  102. package/dist/skills/tools/listSkills.js.map +1 -0
  103. package/dist/skills/tools/loadSkill.d.ts +52 -0
  104. package/dist/skills/tools/loadSkill.js +86 -0
  105. package/dist/skills/tools/loadSkill.js.map +1 -0
  106. package/dist/skills/tools/readSkillFile.d.ts +43 -0
  107. package/dist/skills/tools/readSkillFile.js +68 -0
  108. package/dist/skills/tools/readSkillFile.js.map +1 -0
  109. package/dist/skills/types.d.ts +83 -0
  110. package/dist/skills/types.js +42 -0
  111. package/dist/skills/types.js.map +1 -0
  112. package/dist/skills/validation.d.ts +30 -0
  113. package/dist/skills/validation.js +133 -0
  114. package/dist/skills/validation.js.map +1 -0
  115. package/dist/tool.d.ts +51 -0
  116. package/dist/tool.js +2 -0
  117. package/dist/tool.js.map +1 -0
  118. package/dist/tools/askFollowupQuestion.d.ts +35 -0
  119. package/dist/tools/askFollowupQuestion.js +105 -0
  120. package/dist/tools/askFollowupQuestion.js.map +1 -0
  121. package/dist/tools/askFollowupQuestion.test.d.ts +1 -0
  122. package/dist/tools/askFollowupQuestion.test.js +80 -0
  123. package/dist/tools/askFollowupQuestion.test.js.map +1 -0
  124. package/dist/tools/executeCommand.d.ts +29 -0
  125. package/dist/tools/executeCommand.js +82 -0
  126. package/dist/tools/executeCommand.js.map +1 -0
  127. package/dist/tools/executeCommand.test.d.ts +1 -0
  128. package/dist/tools/executeCommand.test.js +60 -0
  129. package/dist/tools/executeCommand.test.js.map +1 -0
  130. package/dist/tools/fetchUrl.d.ts +26 -0
  131. package/dist/tools/fetchUrl.js +85 -0
  132. package/dist/tools/fetchUrl.js.map +1 -0
  133. package/dist/tools/index.d.ts +15 -0
  134. package/dist/tools/index.js +17 -0
  135. package/dist/tools/index.js.map +1 -0
  136. package/dist/tools/listFiles.d.ts +35 -0
  137. package/dist/tools/listFiles.js +61 -0
  138. package/dist/tools/listFiles.js.map +1 -0
  139. package/dist/tools/listFiles.test.d.ts +1 -0
  140. package/dist/tools/listFiles.test.js +59 -0
  141. package/dist/tools/listFiles.test.js.map +1 -0
  142. package/dist/tools/provider.d.ts +76 -0
  143. package/dist/tools/provider.js +60 -0
  144. package/dist/tools/provider.js.map +1 -0
  145. package/dist/tools/readBinaryFile.d.ts +26 -0
  146. package/dist/tools/readBinaryFile.js +52 -0
  147. package/dist/tools/readBinaryFile.js.map +1 -0
  148. package/dist/tools/readFile.d.ts +35 -0
  149. package/dist/tools/readFile.js +128 -0
  150. package/dist/tools/readFile.js.map +1 -0
  151. package/dist/tools/readFile.test.d.ts +1 -0
  152. package/dist/tools/readFile.test.js +37 -0
  153. package/dist/tools/readFile.test.js.map +1 -0
  154. package/dist/tools/removeFile.d.ts +26 -0
  155. package/dist/tools/removeFile.js +49 -0
  156. package/dist/tools/removeFile.js.map +1 -0
  157. package/dist/tools/removeFile.test.d.ts +1 -0
  158. package/dist/tools/removeFile.test.js +32 -0
  159. package/dist/tools/removeFile.test.js.map +1 -0
  160. package/dist/tools/renameFile.d.ts +29 -0
  161. package/dist/tools/renameFile.js +48 -0
  162. package/dist/tools/renameFile.js.map +1 -0
  163. package/dist/tools/renameFile.test.d.ts +1 -0
  164. package/dist/tools/renameFile.test.js +53 -0
  165. package/dist/tools/renameFile.test.js.map +1 -0
  166. package/dist/tools/replaceInFile.d.ts +29 -0
  167. package/dist/tools/replaceInFile.js +233 -0
  168. package/dist/tools/replaceInFile.js.map +1 -0
  169. package/dist/tools/replaceInFile.test.d.ts +1 -0
  170. package/dist/tools/replaceInFile.test.js +79 -0
  171. package/dist/tools/replaceInFile.test.js.map +1 -0
  172. package/dist/tools/response-builders.d.ts +64 -0
  173. package/dist/tools/response-builders.js +88 -0
  174. package/dist/tools/response-builders.js.map +1 -0
  175. package/dist/tools/search.d.ts +26 -0
  176. package/dist/tools/search.js +56 -0
  177. package/dist/tools/search.js.map +1 -0
  178. package/dist/tools/search.test.d.ts +1 -0
  179. package/dist/tools/search.test.js +22 -0
  180. package/dist/tools/search.test.js.map +1 -0
  181. package/dist/tools/searchFiles.d.ts +32 -0
  182. package/dist/tools/searchFiles.js +86 -0
  183. package/dist/tools/searchFiles.js.map +1 -0
  184. package/dist/tools/todo.d.ts +37 -0
  185. package/dist/tools/todo.js +41 -0
  186. package/dist/tools/todo.js.map +1 -0
  187. package/dist/tools/utils/index.d.ts +1 -0
  188. package/dist/tools/utils/index.js +2 -0
  189. package/dist/tools/utils/index.js.map +1 -0
  190. package/dist/tools/utils/replaceInFile.d.ts +7 -0
  191. package/dist/tools/utils/replaceInFile.js +133 -0
  192. package/dist/tools/utils/replaceInFile.js.map +1 -0
  193. package/dist/tools/utils/replaceInFile.test.d.ts +1 -0
  194. package/dist/tools/utils/replaceInFile.test.js +308 -0
  195. package/dist/tools/utils/replaceInFile.test.js.map +1 -0
  196. package/dist/tools/utils.d.ts +10 -0
  197. package/dist/tools/utils.js +27 -0
  198. package/dist/tools/utils.js.map +1 -0
  199. package/dist/tools/writeToFile.d.ts +29 -0
  200. package/dist/tools/writeToFile.js +85 -0
  201. package/dist/tools/writeToFile.js.map +1 -0
  202. package/dist/tools/writeToFile.test.d.ts +1 -0
  203. package/dist/tools/writeToFile.test.js +46 -0
  204. package/dist/tools/writeToFile.test.js.map +1 -0
  205. package/dist/utils/index.d.ts +1 -0
  206. package/dist/utils/index.js +3 -0
  207. package/dist/utils/index.js.map +1 -0
  208. package/dist/utils/merge.d.ts +26 -0
  209. package/dist/utils/merge.js +45 -0
  210. package/dist/utils/merge.js.map +1 -0
  211. package/dist/workflow/agent.workflow.d.ts +39 -0
  212. package/dist/workflow/agent.workflow.js +166 -0
  213. package/dist/workflow/agent.workflow.js.map +1 -0
  214. package/dist/workflow/agent.workflow.test.d.ts +1 -0
  215. package/dist/workflow/agent.workflow.test.js +175 -0
  216. package/dist/workflow/agent.workflow.test.js.map +1 -0
  217. package/dist/workflow/control-flow.test.d.ts +1 -0
  218. package/dist/workflow/control-flow.test.js +323 -0
  219. package/dist/workflow/control-flow.test.js.map +1 -0
  220. package/dist/workflow/dynamic-edge-cases.test.d.ts +1 -0
  221. package/dist/workflow/dynamic-edge-cases.test.js +486 -0
  222. package/dist/workflow/dynamic-edge-cases.test.js.map +1 -0
  223. package/dist/workflow/dynamic-types.d.ts +124 -0
  224. package/dist/workflow/dynamic-types.js +105 -0
  225. package/dist/workflow/dynamic-types.js.map +1 -0
  226. package/dist/workflow/dynamic.d.ts +118 -0
  227. package/dist/workflow/dynamic.js +999 -0
  228. package/dist/workflow/dynamic.js.map +1 -0
  229. package/dist/workflow/index.d.ts +6 -0
  230. package/dist/workflow/index.js +8 -0
  231. package/dist/workflow/index.js.map +1 -0
  232. package/dist/workflow/json-ai-types.d.ts +122 -0
  233. package/dist/workflow/json-ai-types.js +144 -0
  234. package/dist/workflow/json-ai-types.js.map +1 -0
  235. package/dist/workflow/json-schema-conversion.test.d.ts +1 -0
  236. package/dist/workflow/json-schema-conversion.test.js +371 -0
  237. package/dist/workflow/json-schema-conversion.test.js.map +1 -0
  238. package/dist/workflow/try-catch.test.d.ts +1 -0
  239. package/dist/workflow/try-catch.test.js +443 -0
  240. package/dist/workflow/try-catch.test.js.map +1 -0
  241. package/dist/workflow/types.d.ts +103 -0
  242. package/dist/workflow/types.js +17 -0
  243. package/dist/workflow/types.js.map +1 -0
  244. package/dist/workflow/workflow.d.ts +29 -0
  245. package/dist/workflow/workflow.js +57 -0
  246. package/dist/workflow/workflow.js.map +1 -0
  247. package/dist/workflow/workflow.test.d.ts +1 -0
  248. package/dist/workflow/workflow.test.js +189 -0
  249. package/dist/workflow/workflow.test.js.map +1 -0
  250. package/package.json +9 -1
@@ -0,0 +1,371 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { z } from 'zod';
3
+ function convertJsonSchemaToZod(schema) {
4
+ // Handle enum types
5
+ if (schema.enum) {
6
+ return z.enum(schema.enum.map((v) => String(v)));
7
+ }
8
+ // Handle union types (type: ["string", "null"])
9
+ if (Array.isArray(schema.type)) {
10
+ const types = schema.type;
11
+ if (types.includes('null') && types.length === 2) {
12
+ const nonNullType = types.find((t) => t !== 'null');
13
+ if (nonNullType === 'string')
14
+ return z.string().nullable();
15
+ if (nonNullType === 'number')
16
+ return z.number().nullable();
17
+ if (nonNullType === 'integer')
18
+ return z
19
+ .number()
20
+ .refine((val) => Number.isInteger(val))
21
+ .nullable();
22
+ if (nonNullType === 'boolean')
23
+ return z.boolean().nullable();
24
+ if (nonNullType === 'object') {
25
+ // Handle object with nullable - need to preserve properties
26
+ const shape = {};
27
+ if (schema.properties) {
28
+ for (const [propName, propSchema] of Object.entries(schema.properties)) {
29
+ const propZod = convertJsonSchemaToZod(propSchema);
30
+ const isRequired = schema.required?.includes(propName);
31
+ shape[propName] = isRequired ? propZod : propZod.optional();
32
+ }
33
+ }
34
+ return z.object(shape).nullable();
35
+ }
36
+ if (nonNullType === 'array')
37
+ return z.array(z.any()).nullable();
38
+ }
39
+ // Fallback for complex unions
40
+ return z.any();
41
+ }
42
+ const type = schema.type;
43
+ switch (type) {
44
+ case 'string':
45
+ return z.string();
46
+ case 'number':
47
+ return z.number();
48
+ case 'integer':
49
+ return z.number().refine((val) => Number.isInteger(val), { message: 'Expected an integer' });
50
+ case 'boolean':
51
+ return z.boolean();
52
+ case 'null':
53
+ return z.null();
54
+ case 'object': {
55
+ const shape = {};
56
+ // Convert properties
57
+ if (schema.properties) {
58
+ for (const [propName, propSchema] of Object.entries(schema.properties)) {
59
+ const propZod = convertJsonSchemaToZod(propSchema);
60
+ // Check if property is required
61
+ const isRequired = schema.required?.includes(propName);
62
+ shape[propName] = isRequired ? propZod : propZod.optional();
63
+ }
64
+ }
65
+ let objectSchema = z.object(shape);
66
+ // Handle additionalProperties
67
+ if (schema.additionalProperties === true) {
68
+ objectSchema = objectSchema.and(z.any());
69
+ }
70
+ else if (typeof schema.additionalProperties === 'object') {
71
+ const additionalSchema = convertJsonSchemaToZod(schema.additionalProperties);
72
+ objectSchema = objectSchema.and(z.record(z.string(), additionalSchema));
73
+ }
74
+ return objectSchema;
75
+ }
76
+ case 'array': {
77
+ if (!schema.items) {
78
+ return z.array(z.any());
79
+ }
80
+ const itemSchema = convertJsonSchemaToZod(schema.items);
81
+ return z.array(itemSchema);
82
+ }
83
+ default:
84
+ return z.any();
85
+ }
86
+ }
87
+ describe('JSON Schema to Zod Conversion', () => {
88
+ describe('primitive types', () => {
89
+ it('should convert string schema', () => {
90
+ const schema = { type: 'string' };
91
+ const zodSchema = convertJsonSchemaToZod(schema);
92
+ expect(zodSchema.parse('hello')).toBe('hello');
93
+ expect(() => zodSchema.parse(123)).toThrow();
94
+ });
95
+ it('should convert number schema', () => {
96
+ const schema = { type: 'number' };
97
+ const zodSchema = convertJsonSchemaToZod(schema);
98
+ expect(zodSchema.parse(42)).toBe(42);
99
+ expect(zodSchema.parse(3.14)).toBe(3.14);
100
+ expect(() => zodSchema.parse('42')).toThrow();
101
+ });
102
+ it('should convert integer schema', () => {
103
+ const schema = { type: 'integer' };
104
+ const zodSchema = convertJsonSchemaToZod(schema);
105
+ expect(zodSchema.parse(42)).toBe(42);
106
+ expect(() => zodSchema.parse(3.14)).toThrow();
107
+ });
108
+ it('should convert boolean schema', () => {
109
+ const schema = { type: 'boolean' };
110
+ const zodSchema = convertJsonSchemaToZod(schema);
111
+ expect(zodSchema.parse(true)).toBe(true);
112
+ expect(zodSchema.parse(false)).toBe(false);
113
+ expect(() => zodSchema.parse('true')).toThrow();
114
+ });
115
+ it('should convert null schema', () => {
116
+ const schema = { type: 'null' };
117
+ const zodSchema = convertJsonSchemaToZod(schema);
118
+ expect(zodSchema.parse(null)).toBe(null);
119
+ expect(() => zodSchema.parse(undefined)).toThrow();
120
+ });
121
+ });
122
+ describe('nullable types', () => {
123
+ it('should convert nullable string', () => {
124
+ const schema = { type: ['string', 'null'] };
125
+ const zodSchema = convertJsonSchemaToZod(schema);
126
+ expect(zodSchema.parse('hello')).toBe('hello');
127
+ expect(zodSchema.parse(null)).toBe(null);
128
+ expect(() => zodSchema.parse(123)).toThrow();
129
+ });
130
+ it('should convert nullable number', () => {
131
+ const schema = { type: ['number', 'null'] };
132
+ const zodSchema = convertJsonSchemaToZod(schema);
133
+ expect(zodSchema.parse(42)).toBe(42);
134
+ expect(zodSchema.parse(null)).toBe(null);
135
+ });
136
+ });
137
+ describe('array types', () => {
138
+ it('should convert array of strings', () => {
139
+ const schema = {
140
+ type: 'array',
141
+ items: { type: 'string' },
142
+ };
143
+ const zodSchema = convertJsonSchemaToZod(schema);
144
+ expect(zodSchema.parse(['a', 'b', 'c'])).toEqual(['a', 'b', 'c']);
145
+ expect(() => zodSchema.parse(['a', 1, 'c'])).toThrow();
146
+ });
147
+ it('should convert array of objects', () => {
148
+ const schema = {
149
+ type: 'array',
150
+ items: {
151
+ type: 'object',
152
+ properties: {
153
+ id: { type: 'string' },
154
+ value: { type: 'number' },
155
+ },
156
+ required: ['id', 'value'],
157
+ },
158
+ };
159
+ const zodSchema = convertJsonSchemaToZod(schema);
160
+ const result = zodSchema.parse([
161
+ { id: 'test', value: 42 },
162
+ { id: 'another', value: 100 },
163
+ ]);
164
+ const items = result;
165
+ expect(items).toHaveLength(2);
166
+ expect(items[0].id).toBe('test');
167
+ expect(() => zodSchema.parse([{ id: 'test' }])).toThrow();
168
+ });
169
+ it('should convert array without items (fallback to any)', () => {
170
+ const schema = { type: 'array' };
171
+ const zodSchema = convertJsonSchemaToZod(schema);
172
+ expect(zodSchema.parse([1, 'two', null])).toEqual([1, 'two', null]);
173
+ });
174
+ });
175
+ describe('object types', () => {
176
+ it('should convert simple object', () => {
177
+ const schema = {
178
+ type: 'object',
179
+ properties: {
180
+ name: { type: 'string' },
181
+ age: { type: 'number' },
182
+ },
183
+ required: ['name', 'age'],
184
+ };
185
+ const zodSchema = convertJsonSchemaToZod(schema);
186
+ const result = zodSchema.parse({ name: 'Alice', age: 30 });
187
+ expect(result.name).toBe('Alice');
188
+ expect(result.age).toBe(30);
189
+ // Missing required field should fail
190
+ expect(() => zodSchema.parse({ name: 'Alice' })).toThrow();
191
+ });
192
+ it('should convert object with optional properties', () => {
193
+ const schema = {
194
+ type: 'object',
195
+ properties: {
196
+ name: { type: 'string' },
197
+ age: { type: 'number' },
198
+ },
199
+ required: ['name'],
200
+ };
201
+ const zodSchema = convertJsonSchemaToZod(schema);
202
+ const result = zodSchema.parse({ name: 'Bob' });
203
+ expect(result.name).toBe('Bob');
204
+ expect(result.age).toBeUndefined();
205
+ // Can still provide optional field
206
+ const result2 = zodSchema.parse({ name: 'Bob', age: 25 });
207
+ expect(result2.age).toBe(25);
208
+ });
209
+ it('should convert nested object', () => {
210
+ const schema = {
211
+ type: 'object',
212
+ properties: {
213
+ user: {
214
+ type: 'object',
215
+ properties: {
216
+ id: { type: 'string' },
217
+ name: { type: 'string' },
218
+ },
219
+ required: ['id', 'name'],
220
+ },
221
+ },
222
+ required: ['user'],
223
+ };
224
+ const zodSchema = convertJsonSchemaToZod(schema);
225
+ const result = zodSchema.parse({
226
+ user: { id: '123', name: 'Alice' },
227
+ });
228
+ expect(result.user.id).toBe('123');
229
+ expect(result.user.name).toBe('Alice');
230
+ });
231
+ it('should convert object with additionalProperties', () => {
232
+ const schema = {
233
+ type: 'object',
234
+ properties: {
235
+ name: { type: 'string' },
236
+ },
237
+ required: ['name'],
238
+ additionalProperties: true,
239
+ };
240
+ const zodSchema = convertJsonSchemaToZod(schema);
241
+ const result = zodSchema.parse({ name: 'test', extra: 'allowed' });
242
+ expect(result.name).toBe('test');
243
+ expect(result.extra).toBe('allowed');
244
+ });
245
+ });
246
+ describe('enum types', () => {
247
+ it('should convert enum schema', () => {
248
+ const schema = {
249
+ enum: ['red', 'green', 'blue'],
250
+ };
251
+ const zodSchema = convertJsonSchemaToZod(schema);
252
+ expect(zodSchema.parse('red')).toBe('red');
253
+ expect(zodSchema.parse('green')).toBe('green');
254
+ expect(() => zodSchema.parse('yellow')).toThrow();
255
+ });
256
+ it('should convert numeric enum', () => {
257
+ const schema = {
258
+ enum: [1, 2, 3],
259
+ };
260
+ const zodSchema = convertJsonSchemaToZod(schema);
261
+ expect(zodSchema.parse('1')).toBe('1');
262
+ expect(zodSchema.parse('2')).toBe('2');
263
+ expect(() => zodSchema.parse('4')).toThrow();
264
+ });
265
+ });
266
+ describe('complex schemas', () => {
267
+ it('should convert workflow step output schema', () => {
268
+ const schema = {
269
+ type: 'object',
270
+ properties: {
271
+ success: { type: 'boolean' },
272
+ message: { type: 'string' },
273
+ data: {
274
+ type: 'object',
275
+ properties: {
276
+ count: { type: 'number' },
277
+ items: {
278
+ type: 'array',
279
+ items: { type: 'string' },
280
+ },
281
+ },
282
+ required: ['count', 'items'],
283
+ },
284
+ },
285
+ required: ['success', 'message', 'data'],
286
+ };
287
+ const zodSchema = convertJsonSchemaToZod(schema);
288
+ const validInput = {
289
+ success: true,
290
+ message: 'Done',
291
+ data: {
292
+ count: 5,
293
+ items: ['a', 'b', 'c', 'd', 'e'],
294
+ },
295
+ };
296
+ const result = zodSchema.parse(validInput);
297
+ expect(result.success).toBe(true);
298
+ expect(result.message).toBe('Done');
299
+ expect(result.data.count).toBe(5);
300
+ expect(result.data.items).toHaveLength(5);
301
+ });
302
+ it('should handle nullable complex types', () => {
303
+ const schema = {
304
+ type: 'object',
305
+ properties: {
306
+ metadata: {
307
+ type: ['object', 'null'],
308
+ properties: {
309
+ timestamp: { type: 'string' },
310
+ },
311
+ required: ['timestamp'],
312
+ },
313
+ },
314
+ };
315
+ const zodSchema = convertJsonSchemaToZod(schema);
316
+ // Can be object
317
+ const result1 = zodSchema.parse({ metadata: { timestamp: '2024-01-01' } });
318
+ expect(result1.metadata).toEqual({ timestamp: '2024-01-01' });
319
+ // Can be null
320
+ const result2 = zodSchema.parse({ metadata: null });
321
+ expect(result2.metadata).toBeNull();
322
+ // Can be undefined (optional)
323
+ const result3 = zodSchema.parse({});
324
+ expect(result3.metadata).toBeUndefined();
325
+ });
326
+ });
327
+ describe('error messages', () => {
328
+ it('should provide clear validation errors', () => {
329
+ const schema = {
330
+ type: 'object',
331
+ properties: {
332
+ name: { type: 'string' },
333
+ age: { type: 'number' },
334
+ },
335
+ required: ['name', 'age'],
336
+ };
337
+ const zodSchema = convertJsonSchemaToZod(schema);
338
+ const result = zodSchema.safeParse({ name: 'Alice' });
339
+ expect(result.success).toBe(false);
340
+ if (!result.success) {
341
+ expect(result.error.issues).toBeDefined();
342
+ expect(result.error.issues.length).toBeGreaterThan(0);
343
+ const errorDetails = result.error.issues.map((e) => ` - ${e.path.join('.') || 'root'}: ${e.message}`).join('\n');
344
+ expect(errorDetails).toContain('age');
345
+ }
346
+ });
347
+ it('should handle nested validation errors', () => {
348
+ const schema = {
349
+ type: 'object',
350
+ properties: {
351
+ data: {
352
+ type: 'array',
353
+ items: { type: 'number' },
354
+ },
355
+ },
356
+ required: ['data'],
357
+ };
358
+ const zodSchema = convertJsonSchemaToZod(schema);
359
+ const result = zodSchema.safeParse({
360
+ data: [1, 2, 'three', 4],
361
+ });
362
+ expect(result.success).toBe(false);
363
+ if (!result.success) {
364
+ expect(result.error.issues).toBeDefined();
365
+ expect(result.error.issues.length).toBeGreaterThan(0);
366
+ expect(result.error.issues[0].path).toEqual(['data', 2]);
367
+ }
368
+ });
369
+ });
370
+ });
371
+ //# sourceMappingURL=json-schema-conversion.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-conversion.test.js","sourceRoot":"","sources":["../../src/workflow/json-schema-conversion.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};