apify-schema-tools 3.0.0 → 3.2.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 (148) hide show
  1. package/.cspell/custom-dictionary.txt +1 -0
  2. package/.node-version +1 -1
  3. package/CHANGELOG.md +13 -1
  4. package/biome.json +24 -18
  5. package/check-samples.sh +4 -0
  6. package/dist/apify-schema-tools.js +16 -21
  7. package/dist/apify-schema-tools.js.map +1 -1
  8. package/dist/apify.d.ts +1 -1
  9. package/dist/apify.d.ts.map +1 -1
  10. package/dist/apify.js +22 -8
  11. package/dist/apify.js.map +1 -1
  12. package/dist/cli/check.d.ts +5 -0
  13. package/dist/cli/check.d.ts.map +1 -0
  14. package/dist/cli/check.js +86 -0
  15. package/dist/cli/check.js.map +1 -0
  16. package/dist/cli/init.d.ts +5 -0
  17. package/dist/cli/init.d.ts.map +1 -0
  18. package/dist/cli/init.js +92 -0
  19. package/dist/cli/init.js.map +1 -0
  20. package/dist/cli/sync.d.ts +5 -0
  21. package/dist/cli/sync.d.ts.map +1 -0
  22. package/dist/cli/sync.js +112 -0
  23. package/dist/cli/sync.js.map +1 -0
  24. package/dist/configuration.d.ts +16 -5
  25. package/dist/configuration.d.ts.map +1 -1
  26. package/dist/configuration.js +19 -7
  27. package/dist/configuration.js.map +1 -1
  28. package/dist/json-schema-conflicts.js +3 -3
  29. package/dist/json-schema-conflicts.js.map +1 -1
  30. package/dist/json-schemas.d.ts +1 -1
  31. package/dist/json-schemas.d.ts.map +1 -1
  32. package/dist/json-schemas.js +1 -1
  33. package/dist/json-schemas.js.map +1 -1
  34. package/dist/main.d.ts +4 -0
  35. package/dist/main.d.ts.map +1 -0
  36. package/dist/main.js +19 -0
  37. package/dist/main.js.map +1 -0
  38. package/dist/middle-schema/compare-schemas.d.ts +3 -0
  39. package/dist/middle-schema/compare-schemas.d.ts.map +1 -0
  40. package/dist/middle-schema/compare-schemas.js +90 -0
  41. package/dist/middle-schema/compare-schemas.js.map +1 -0
  42. package/dist/middle-schema/generate-typescript.d.ts +7 -0
  43. package/dist/middle-schema/generate-typescript.d.ts.map +1 -0
  44. package/dist/middle-schema/generate-typescript.js +70 -0
  45. package/dist/middle-schema/generate-typescript.js.map +1 -0
  46. package/dist/middle-schema/parse-json-schema.d.ts +4 -0
  47. package/dist/middle-schema/parse-json-schema.d.ts.map +1 -0
  48. package/dist/middle-schema/parse-json-schema.js +65 -0
  49. package/dist/middle-schema/parse-json-schema.js.map +1 -0
  50. package/dist/middle-schema/parse-typescript.d.ts +4 -0
  51. package/dist/middle-schema/parse-typescript.d.ts.map +1 -0
  52. package/dist/middle-schema/parse-typescript.js +199 -0
  53. package/dist/middle-schema/parse-typescript.js.map +1 -0
  54. package/dist/middle-schema/schema-types.d.ts +24 -0
  55. package/dist/middle-schema/schema-types.d.ts.map +1 -0
  56. package/dist/middle-schema/schema-types.js +14 -0
  57. package/dist/middle-schema/schema-types.js.map +1 -0
  58. package/dist/middle-schema/schema.d.ts +24 -0
  59. package/dist/middle-schema/schema.d.ts.map +1 -0
  60. package/dist/middle-schema/schema.js +14 -0
  61. package/dist/middle-schema/schema.js.map +1 -0
  62. package/dist/schema/entities/abstract-entity.d.ts +5 -0
  63. package/dist/schema/entities/abstract-entity.d.ts.map +1 -0
  64. package/dist/schema/entities/abstract-entity.js +3 -0
  65. package/dist/schema/entities/abstract-entity.js.map +1 -0
  66. package/dist/schema/entities/primitive-union.d.ts +12 -0
  67. package/dist/schema/entities/primitive-union.d.ts.map +1 -0
  68. package/dist/schema/entities/primitive-union.js +74 -0
  69. package/dist/schema/entities/primitive-union.js.map +1 -0
  70. package/dist/schema/entities/primitive.d.ts +15 -0
  71. package/dist/schema/entities/primitive.d.ts.map +1 -0
  72. package/dist/schema/entities/primitive.js +54 -0
  73. package/dist/schema/entities/primitive.js.map +1 -0
  74. package/dist/schema/parsers/json-schema.d.ts +4 -0
  75. package/dist/schema/parsers/json-schema.d.ts.map +1 -0
  76. package/dist/schema/parsers/json-schema.js +12 -0
  77. package/dist/schema/parsers/json-schema.js.map +1 -0
  78. package/dist/schema/parsers/typescript.d.ts +3 -0
  79. package/dist/schema/parsers/typescript.d.ts.map +1 -0
  80. package/dist/schema/parsers/typescript.js +24 -0
  81. package/dist/schema/parsers/typescript.js.map +1 -0
  82. package/dist/schemas/input.d.ts +840 -0
  83. package/dist/schemas/input.d.ts.map +1 -0
  84. package/dist/schemas/input.js +349 -0
  85. package/dist/schemas/input.js.map +1 -0
  86. package/dist/utils/filesystem.d.ts +8 -0
  87. package/dist/utils/filesystem.d.ts.map +1 -0
  88. package/dist/utils/filesystem.js +16 -0
  89. package/dist/utils/filesystem.js.map +1 -0
  90. package/dist/utils/json-schemas-interactive-conflict.d.ts +16 -0
  91. package/dist/utils/json-schemas-interactive-conflict.d.ts.map +1 -0
  92. package/dist/utils/json-schemas-interactive-conflict.js +165 -0
  93. package/dist/utils/json-schemas-interactive-conflict.js.map +1 -0
  94. package/dist/utils/json-schemas.d.ts +42 -0
  95. package/dist/utils/json-schemas.d.ts.map +1 -0
  96. package/dist/utils/json-schemas.js +162 -0
  97. package/dist/utils/json-schemas.js.map +1 -0
  98. package/dist/zod/schemas/input.d.ts +840 -0
  99. package/dist/zod/schemas/input.d.ts.map +1 -0
  100. package/dist/zod/schemas/input.js +393 -0
  101. package/dist/zod/schemas/input.js.map +1 -0
  102. package/package.json +12 -12
  103. package/samples/all-defaults/.actor/input_schema.json +32 -3
  104. package/samples/all-defaults/src-schemas/input.json +2 -1
  105. package/samples/deep-merged-schemas/.actor/input_schema.json +36 -3
  106. package/samples/merged-schemas/.actor/input_schema.json +27 -3
  107. package/samples/package-json-config/.actor/input_schema.json +32 -3
  108. package/samples/package-json-config-merged/.actor/actor.json +15 -0
  109. package/samples/package-json-config-merged/.actor/dataset_schema.json +32 -0
  110. package/samples/package-json-config-merged/.actor/input_schema.json +91 -0
  111. package/samples/package-json-config-merged/custom-add-schemas/add-input.json +21 -0
  112. package/samples/package-json-config-merged/custom-src-schemas/dataset-item.json +28 -0
  113. package/samples/package-json-config-merged/custom-src-schemas/input.json +89 -0
  114. package/samples/package-json-config-merged/package.json +19 -0
  115. package/samples/package-json-config-merged/src/custom-generated/dataset.ts +25 -0
  116. package/samples/package-json-config-merged/src/custom-generated/input-utils.ts +73 -0
  117. package/samples/package-json-config-merged/src/custom-generated/input.ts +49 -0
  118. package/src/apify.ts +24 -9
  119. package/src/cli/check.ts +114 -0
  120. package/src/cli/init.ts +125 -0
  121. package/src/cli/sync.ts +164 -0
  122. package/src/configuration.ts +27 -8
  123. package/src/main.ts +25 -0
  124. package/src/middle-schema/compare-schemas.ts +113 -0
  125. package/src/middle-schema/generate-typescript.ts +88 -0
  126. package/src/middle-schema/parse-json-schema.ts +104 -0
  127. package/src/middle-schema/parse-typescript.ts +239 -0
  128. package/src/middle-schema/schema-types.ts +40 -0
  129. package/src/{json-schema-conflicts.ts → utils/json-schemas-interactive-conflict.ts} +3 -3
  130. package/src/{json-schemas.ts → utils/json-schemas.ts} +1 -1
  131. package/test/apify.test.ts +413 -5
  132. package/test/cli/check.test.ts +1571 -0
  133. package/test/cli/init.test.ts +459 -0
  134. package/test/cli/sync.test.ts +341 -0
  135. package/test/common.ts +68 -0
  136. package/test/configuration.test.ts +59 -26
  137. package/test/middle-schema/compare-schemas.test.ts +585 -0
  138. package/test/middle-schema/generate-typescript.test.ts +191 -0
  139. package/test/middle-schema/parse-json-schema.test.ts +178 -0
  140. package/test/middle-schema/parse-typescript.test.ts +143 -0
  141. package/test/{json-schema-conflicts.test.ts → utils/json-schemas-interactive-conflict.test.ts} +3 -3
  142. package/test/{json-schemas.test.ts → utils/json-schemas.test.ts} +4 -4
  143. package/update-samples.sh +4 -0
  144. package/src/apify-schema-tools.ts +0 -431
  145. package/src/typescript.ts +0 -563
  146. package/test/apify-schema-tools.test.ts +0 -2216
  147. package/test/typescript.test.ts +0 -1079
  148. /package/src/{filesystem.ts → utils/filesystem.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/zod/schemas/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0YxB,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAUjB,CAAC;AAGH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,393 @@
1
+ import { z } from "zod";
2
+ // Base editor types for different property types
3
+ const stringEditors = z.enum(["javascript", "python", "textfield", "textarea", "datepicker", "hidden", "fileupload"]);
4
+ const arrayEditors = z.enum([
5
+ "json",
6
+ "requestListSources",
7
+ "pseudoUrls",
8
+ "globs",
9
+ "keyValue",
10
+ "stringList",
11
+ "select",
12
+ "schemaBased",
13
+ "hidden",
14
+ ]);
15
+ const objectEditors = z.enum(["json", "proxy", "schemaBased", "hidden"]);
16
+ const resourceTypes = z.enum(["dataset", "keyValueStore", "requestQueue"]);
17
+ const resourcePermissions = z.enum(["READ", "WRITE"]);
18
+ // Utility schemas
19
+ const arrayItemsSelect = z
20
+ .object({
21
+ type: z.literal("string"),
22
+ enum: z.array(z.string()).min(1),
23
+ enumTitles: z.array(z.string()).min(1).optional(),
24
+ })
25
+ .strict();
26
+ const arrayItemsKeyValue = z
27
+ .object({
28
+ type: z.literal("object"),
29
+ properties: z
30
+ .object({
31
+ key: z
32
+ .object({
33
+ type: z.literal("string"),
34
+ title: z.string(),
35
+ description: z.string(),
36
+ pattern: z.string().optional(),
37
+ minLength: z.number().int().optional(),
38
+ maxLength: z.number().int().optional(),
39
+ })
40
+ .strict(),
41
+ value: z
42
+ .object({
43
+ type: z.literal("string"),
44
+ title: z.string(),
45
+ description: z.string(),
46
+ pattern: z.string().optional(),
47
+ minLength: z.number().int().optional(),
48
+ maxLength: z.number().int().optional(),
49
+ })
50
+ .strict(),
51
+ })
52
+ .strict(),
53
+ required: z.array(z.string()).min(0),
54
+ additionalProperties: z.boolean(),
55
+ })
56
+ .strict();
57
+ const arrayItemsStringList = z
58
+ .object({
59
+ type: z.literal("string"),
60
+ pattern: z.string().optional(),
61
+ minLength: z.number().int().optional(),
62
+ maxLength: z.number().int().optional(),
63
+ })
64
+ .strict();
65
+ // Sub-schema property definitions
66
+ const subSchemaStringEnumProperty = z
67
+ .object({
68
+ type: z.literal("string"),
69
+ editor: z.literal("select"),
70
+ title: z.string(),
71
+ description: z.string(),
72
+ nullable: z.boolean().optional(),
73
+ enum: z.array(z.string()).min(1),
74
+ enumTitles: z.array(z.string()).min(1).optional(),
75
+ })
76
+ .strict();
77
+ const subSchemaStringProperty = z.object({
78
+ type: z.literal("string"),
79
+ title: z.string(),
80
+ description: z.string(),
81
+ nullable: z.boolean().optional(),
82
+ pattern: z.string().optional(),
83
+ minLength: z.number().int().optional(),
84
+ maxLength: z.number().int().optional(),
85
+ editor: stringEditors.optional(),
86
+ dateType: z.enum(["absolute", "relative", "absoluteOrRelative"]).optional(),
87
+ });
88
+ const subSchemaArrayProperty = z.object({
89
+ type: z.literal("array"),
90
+ title: z.string(),
91
+ description: z.string(),
92
+ nullable: z.boolean().optional(),
93
+ minItems: z.number().int().optional(),
94
+ maxItems: z.number().int().optional(),
95
+ uniqueItems: z.boolean().optional(),
96
+ placeholderKey: z.string().optional(),
97
+ placeholderValue: z.string().optional(),
98
+ patternKey: z.string().optional(),
99
+ patternValue: z.string().optional(),
100
+ editor: arrayEditors.exclude(["schemaBased"]).optional(),
101
+ items: z
102
+ .union([
103
+ arrayItemsSelect,
104
+ arrayItemsKeyValue,
105
+ arrayItemsStringList,
106
+ z.object({
107
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
108
+ }),
109
+ ])
110
+ .optional(),
111
+ });
112
+ const subSchemaIntegerProperty = z
113
+ .object({
114
+ type: z.literal("integer"),
115
+ title: z.string(),
116
+ description: z.string(),
117
+ nullable: z.boolean().optional(),
118
+ minimum: z.number().int().optional(),
119
+ maximum: z.number().int().optional(),
120
+ unit: z.string().optional(),
121
+ editor: z.enum(["number", "hidden"]).optional(),
122
+ })
123
+ .strict();
124
+ const subSchemaBooleanProperty = z
125
+ .object({
126
+ type: z.literal("boolean"),
127
+ title: z.string(),
128
+ description: z.string(),
129
+ nullable: z.boolean().optional(),
130
+ groupCaption: z.string().optional(),
131
+ groupDescription: z.string().optional(),
132
+ editor: z.enum(["checkbox", "hidden"]).optional(),
133
+ })
134
+ .strict();
135
+ const subSchemaResourceProperty = z
136
+ .object({
137
+ type: z.literal("string"),
138
+ title: z.string(),
139
+ description: z.string(),
140
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
141
+ resourceType: resourceTypes,
142
+ resourcePermissions: z.array(resourcePermissions).min(1).optional(),
143
+ nullable: z.boolean().optional(),
144
+ })
145
+ .strict();
146
+ const subSchemaResourceArrayProperty = z
147
+ .object({
148
+ type: z.literal("array"),
149
+ title: z.string(),
150
+ description: z.string(),
151
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
152
+ resourcePermissions: z.array(resourcePermissions).min(1).optional(),
153
+ nullable: z.boolean().optional(),
154
+ minItems: z.number().int().optional(),
155
+ maxItems: z.number().int().optional(),
156
+ uniqueItems: z.boolean().optional(),
157
+ resourceType: resourceTypes,
158
+ })
159
+ .strict();
160
+ // Simplified object property (avoiding complex recursion for now)
161
+ const subSchemaObjectProperty = z
162
+ .object({
163
+ type: z.literal("object"),
164
+ title: z.string(),
165
+ description: z.string(),
166
+ patternKey: z.string().optional(),
167
+ patternValue: z.string().optional(),
168
+ nullable: z.boolean().optional(),
169
+ minProperties: z.number().int().optional(),
170
+ maxProperties: z.number().int().optional(),
171
+ editor: z.enum(["json", "proxy", "hidden"]).optional(),
172
+ // Simple properties object to avoid recursion complexity
173
+ properties: z
174
+ .record(z.string(), z.object({
175
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
176
+ title: z.string().optional(),
177
+ description: z.string().optional(),
178
+ }))
179
+ .optional(),
180
+ required: z.array(z.string()).optional(),
181
+ additionalProperties: z.boolean().optional(),
182
+ })
183
+ .strict();
184
+ const subSchemaProperty = z.union([
185
+ subSchemaStringEnumProperty,
186
+ subSchemaStringProperty,
187
+ subSchemaArrayProperty,
188
+ subSchemaIntegerProperty,
189
+ subSchemaBooleanProperty,
190
+ subSchemaObjectProperty,
191
+ subSchemaResourceProperty,
192
+ subSchemaResourceArrayProperty,
193
+ ]);
194
+ // Main property definitions
195
+ const stringEnumProperty = z.object({
196
+ type: z.literal("string"),
197
+ editor: z.literal("select"),
198
+ title: z.string(),
199
+ description: z.string(),
200
+ prefill: z.string().optional(),
201
+ example: z.string().optional(),
202
+ nullable: z.boolean().optional(),
203
+ sectionCaption: z.string().optional(),
204
+ sectionDescription: z.string().optional(),
205
+ enum: z.array(z.string()).min(1),
206
+ enumTitles: z.array(z.string()).min(1).optional(),
207
+ default: z.union([z.string(), z.null()]).optional(),
208
+ });
209
+ const stringProperty = z.object({
210
+ type: z.literal("string"),
211
+ title: z.string(),
212
+ description: z.string(),
213
+ nullable: z.boolean().optional(),
214
+ editor: stringEditors,
215
+ isSecret: z.boolean().optional(),
216
+ prefill: z.string().optional(),
217
+ example: z.string().optional(),
218
+ pattern: z.string().optional(),
219
+ minLength: z.number().int().optional(),
220
+ maxLength: z.number().int().optional(),
221
+ sectionCaption: z.string().optional(),
222
+ sectionDescription: z.string().optional(),
223
+ default: z.union([z.string(), z.null()]).optional(),
224
+ });
225
+ const arrayProperty = z.object({
226
+ type: z.literal("array"),
227
+ editor: arrayEditors,
228
+ title: z.string(),
229
+ description: z.string(),
230
+ isSecret: z.boolean().optional(),
231
+ prefill: z.array(z.unknown()).optional(),
232
+ example: z.array(z.unknown()).optional(),
233
+ nullable: z.boolean().optional(),
234
+ minItems: z.number().int().optional(),
235
+ maxItems: z.number().int().optional(),
236
+ uniqueItems: z.boolean().optional(),
237
+ sectionCaption: z.string().optional(),
238
+ sectionDescription: z.string().optional(),
239
+ placeholderKey: z.string().optional(),
240
+ placeholderValue: z.string().optional(),
241
+ patternKey: z.string().optional(),
242
+ patternValue: z.string().optional(),
243
+ items: z
244
+ .union([
245
+ arrayItemsSelect,
246
+ arrayItemsKeyValue,
247
+ arrayItemsStringList,
248
+ z.object({
249
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
250
+ }),
251
+ ])
252
+ .optional(),
253
+ default: z.union([z.array(z.unknown()), z.null()]).optional(),
254
+ });
255
+ const objectProperty = z.object({
256
+ type: z.literal("object"),
257
+ title: z.string(),
258
+ description: z.string(),
259
+ editor: objectEditors,
260
+ isSecret: z.boolean().optional(),
261
+ prefill: z.record(z.string(), z.unknown()).optional(),
262
+ example: z.record(z.string(), z.unknown()).optional(),
263
+ patternKey: z.string().optional(),
264
+ patternValue: z.string().optional(),
265
+ nullable: z.boolean().optional(),
266
+ minProperties: z.number().int().optional(),
267
+ maxProperties: z.number().int().optional(),
268
+ sectionCaption: z.string().optional(),
269
+ sectionDescription: z.string().optional(),
270
+ required: z.array(z.string()).optional(),
271
+ additionalProperties: z.boolean().optional(),
272
+ properties: z.record(z.string(), subSchemaProperty).optional(),
273
+ default: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(),
274
+ });
275
+ const integerProperty = z.object({
276
+ type: z.literal("integer"),
277
+ title: z.string(),
278
+ description: z.string(),
279
+ prefill: z.number().int().optional(),
280
+ example: z.number().int().optional(),
281
+ nullable: z.boolean().optional(),
282
+ minimum: z.number().int().optional(),
283
+ maximum: z.number().int().optional(),
284
+ unit: z.string().optional(),
285
+ editor: z.enum(["number", "hidden"]).optional(),
286
+ sectionCaption: z.string().optional(),
287
+ sectionDescription: z.string().optional(),
288
+ default: z.union([z.number().int(), z.null()]).optional(),
289
+ });
290
+ const booleanProperty = z.object({
291
+ type: z.literal("boolean"),
292
+ title: z.string(),
293
+ description: z.string(),
294
+ prefill: z.boolean().optional(),
295
+ example: z.boolean().optional(),
296
+ nullable: z.boolean().optional(),
297
+ groupCaption: z.string().optional(),
298
+ groupDescription: z.string().optional(),
299
+ editor: z.enum(["checkbox", "hidden"]).optional(),
300
+ sectionCaption: z.string().optional(),
301
+ sectionDescription: z.string().optional(),
302
+ default: z.union([z.boolean(), z.null()]).optional(),
303
+ });
304
+ const resourceProperty = z.object({
305
+ type: z.literal("string"),
306
+ title: z.string(),
307
+ description: z.string(),
308
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
309
+ resourceType: resourceTypes,
310
+ resourcePermissions: z
311
+ .array(resourcePermissions)
312
+ .min(1)
313
+ .refine((perms) => perms.includes("READ"), { message: "Resource permissions must contain READ" })
314
+ .optional(),
315
+ prefill: z.string().optional(),
316
+ example: z.string().optional(),
317
+ nullable: z.boolean().optional(),
318
+ sectionCaption: z.string().optional(),
319
+ sectionDescription: z.string().optional(),
320
+ default: z.union([z.string(), z.null()]).optional(),
321
+ });
322
+ const resourceArrayProperty = z.object({
323
+ type: z.literal("array"),
324
+ title: z.string(),
325
+ description: z.string(),
326
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
327
+ resourcePermissions: z
328
+ .array(resourcePermissions)
329
+ .min(1)
330
+ .refine((perms) => perms.includes("READ"), { message: "Resource permissions must contain READ" })
331
+ .optional(),
332
+ prefill: z.array(z.unknown()).optional(),
333
+ example: z.array(z.unknown()).optional(),
334
+ nullable: z.boolean().optional(),
335
+ minItems: z.number().int().optional(),
336
+ maxItems: z.number().int().optional(),
337
+ uniqueItems: z.boolean().optional(),
338
+ resourceType: resourceTypes,
339
+ sectionCaption: z.string().optional(),
340
+ sectionDescription: z.string().optional(),
341
+ default: z.union([z.array(z.unknown()), z.null()]).optional(),
342
+ });
343
+ const anyProperty = z.object({
344
+ type: z.array(z.enum(["object", "array", "string", "integer", "boolean"])).min(1),
345
+ title: z.string(),
346
+ description: z.string(),
347
+ prefill: z
348
+ .union([z.record(z.string(), z.unknown()), z.array(z.unknown()), z.string(), z.number().int(), z.boolean()])
349
+ .optional(),
350
+ example: z
351
+ .union([z.record(z.string(), z.unknown()), z.array(z.unknown()), z.string(), z.number().int(), z.boolean()])
352
+ .optional(),
353
+ nullable: z.boolean().optional(),
354
+ editor: z.enum(["json", "hidden"]),
355
+ sectionCaption: z.string().optional(),
356
+ sectionDescription: z.string().optional(),
357
+ default: z
358
+ .union([
359
+ z.record(z.string(), z.unknown()),
360
+ z.array(z.unknown()),
361
+ z.string(),
362
+ z.number().int(),
363
+ z.boolean(),
364
+ z.null(),
365
+ ])
366
+ .optional(),
367
+ });
368
+ // Union of all property types
369
+ const inputProperty = z.union([
370
+ stringEnumProperty,
371
+ stringProperty,
372
+ arrayProperty,
373
+ objectProperty,
374
+ integerProperty,
375
+ booleanProperty,
376
+ resourceProperty,
377
+ resourceArrayProperty,
378
+ anyProperty,
379
+ ]);
380
+ // Main input schema
381
+ export const inputSchema = z
382
+ .object({
383
+ $schema: z.string().optional(),
384
+ title: z.string(),
385
+ schemaVersion: z.number().int().min(1).max(1),
386
+ description: z.string().optional(),
387
+ type: z.literal("object"),
388
+ required: z.array(z.string()).min(0),
389
+ additionalProperties: z.boolean().optional(),
390
+ properties: z.record(z.string(), inputProperty),
391
+ })
392
+ .strict();
393
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/zod/schemas/input.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "apify-schema-tools",
3
- "version": "3.0.0",
3
+ "version": "3.2.0",
4
4
  "description": "Apify schema managing tools.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
8
- "apify-schema-tools": "dist/apify-schema-tools.js"
8
+ "apify-schema-tools": "dist/cli/entrypoint.js"
9
9
  },
10
10
  "scripts": {
11
11
  "build": "tsc",
@@ -34,23 +34,23 @@
34
34
  "type": "module",
35
35
  "devDependencies": {
36
36
  "@apify/tsconfig": "^0.1.1",
37
- "@biomejs/biome": "^2.1.2",
37
+ "@biomejs/biome": "^2.3.4",
38
38
  "@types/argparse": "^2.0.17",
39
39
  "@types/json-schema": "^7.0.15",
40
40
  "@types/minimist": "^1.2.5",
41
- "@types/node": "^24.1.0",
42
- "@types/ramda": "^0.30.2",
43
- "apify": "^3.4.4",
44
- "cspell": "^9.2.0",
41
+ "@types/node": "^24.10.0",
42
+ "@types/ramda": "^0.31.1",
43
+ "apify": "^3.5.1",
44
+ "cspell": "^9.3.0",
45
45
  "husky": "^9.1.7",
46
- "typescript": "^5.8.3",
47
- "vitest": "^3.2.4"
46
+ "typescript": "^5.9.3",
47
+ "vitest": "^4.0.8"
48
48
  },
49
49
  "dependencies": {
50
- "@inquirer/prompts": "^7.7.1",
50
+ "@inquirer/prompts": "^7.10.0",
51
51
  "argparse": "^2.0.1",
52
- "ramda": "^0.31.3",
53
- "zod": "^4.0.10"
52
+ "ramda": "^0.32.0",
53
+ "zod": "^4.1.12"
54
54
  },
55
55
  "cspell": {
56
56
  "version": "0.2",
@@ -9,7 +9,15 @@
9
9
  "title": "Start URLs",
10
10
  "description": "List of URLs to scrape",
11
11
  "default": [],
12
- "editor": "requestListSources"
12
+ "editor": "requestListSources",
13
+ "items": {
14
+ "type": "object",
15
+ "properties": {
16
+ "url": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ }
13
21
  },
14
22
  "searchTerm": {
15
23
  "type": "string",
@@ -22,7 +30,21 @@
22
30
  "type": "array",
23
31
  "title": "Categories",
24
32
  "description": "List of categories to filter results",
25
- "default": []
33
+ "default": [],
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "name": {
38
+ "type": "string",
39
+ "title": "Category name"
40
+ },
41
+ "id": {
42
+ "type": "string",
43
+ "title": "Category ID"
44
+ }
45
+ },
46
+ "additionalProperties": false
47
+ }
26
48
  },
27
49
  "maxPages": {
28
50
  "type": "integer",
@@ -40,7 +62,14 @@
40
62
  "description": "Proxy settings",
41
63
  "default": {
42
64
  "useApifyProxy": true
43
- }
65
+ },
66
+ "properties": {
67
+ "useApifyProxy": {
68
+ "type": "boolean",
69
+ "default": true
70
+ }
71
+ },
72
+ "additionalProperties": true
44
73
  },
45
74
  "debugMode": {
46
75
  "type": "boolean",
@@ -85,5 +85,6 @@
85
85
  }
86
86
  },
87
87
  "required": ["startUrls", "searchTerm"],
88
- "additionalProperties": false
88
+ "additionalProperties": false,
89
+ "invalidProperty": "should be removed"
89
90
  }
@@ -9,7 +9,15 @@
9
9
  "title": "Start URLs",
10
10
  "description": "List of URLs to scrape",
11
11
  "default": [],
12
- "editor": "requestListSources"
12
+ "editor": "requestListSources",
13
+ "items": {
14
+ "type": "object",
15
+ "properties": {
16
+ "url": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ }
13
21
  },
14
22
  "searchTerm": {
15
23
  "type": "string",
@@ -22,7 +30,25 @@
22
30
  "type": "array",
23
31
  "title": "Categories",
24
32
  "description": "List of categories to filter results",
25
- "default": []
33
+ "default": [],
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "name": {
38
+ "type": "string",
39
+ "title": "Category name"
40
+ },
41
+ "id": {
42
+ "type": "string",
43
+ "title": "Category ID"
44
+ },
45
+ "url": {
46
+ "type": "string",
47
+ "title": "Category URL"
48
+ }
49
+ },
50
+ "additionalProperties": false
51
+ }
26
52
  },
27
53
  "maxPages": {
28
54
  "type": "integer",
@@ -40,7 +66,14 @@
40
66
  "description": "Proxy settings",
41
67
  "default": {
42
68
  "useApifyProxy": true
43
- }
69
+ },
70
+ "properties": {
71
+ "useApifyProxy": {
72
+ "type": "boolean",
73
+ "default": true
74
+ }
75
+ },
76
+ "additionalProperties": true
44
77
  },
45
78
  "maxRetries": {
46
79
  "type": "integer",
@@ -9,7 +9,15 @@
9
9
  "title": "Start URLs",
10
10
  "description": "List of URLs to scrape",
11
11
  "default": [],
12
- "editor": "requestListSources"
12
+ "editor": "requestListSources",
13
+ "items": {
14
+ "type": "object",
15
+ "properties": {
16
+ "url": {
17
+ "type": "string"
18
+ }
19
+ }
20
+ }
13
21
  },
14
22
  "searchTerm": {
15
23
  "type": "string",
@@ -19,7 +27,16 @@
19
27
  "enumTitles": ["Example", "Test", "Sample"]
20
28
  },
21
29
  "categories": {
22
- "type": "array"
30
+ "type": "array",
31
+ "items": {
32
+ "type": "object",
33
+ "properties": {
34
+ "url": {
35
+ "type": "string",
36
+ "title": "Category URL"
37
+ }
38
+ }
39
+ }
23
40
  },
24
41
  "maxPages": {
25
42
  "type": "integer",
@@ -37,7 +54,14 @@
37
54
  "description": "Proxy settings",
38
55
  "default": {
39
56
  "useApifyProxy": true
40
- }
57
+ },
58
+ "properties": {
59
+ "useApifyProxy": {
60
+ "type": "boolean",
61
+ "default": true
62
+ }
63
+ },
64
+ "additionalProperties": true
41
65
  },
42
66
  "maxRetries": {
43
67
  "type": "integer",