apify-schema-tools 3.1.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 (130) hide show
  1. package/.node-version +1 -1
  2. package/CHANGELOG.md +7 -1
  3. package/biome.json +8 -2
  4. package/dist/apify-schema-tools.js +12 -9
  5. package/dist/apify-schema-tools.js.map +1 -1
  6. package/dist/apify.d.ts +1 -1
  7. package/dist/apify.d.ts.map +1 -1
  8. package/dist/apify.js +19 -5
  9. package/dist/apify.js.map +1 -1
  10. package/dist/cli/check.d.ts +5 -0
  11. package/dist/cli/check.d.ts.map +1 -0
  12. package/dist/cli/check.js +86 -0
  13. package/dist/cli/check.js.map +1 -0
  14. package/dist/cli/init.d.ts +5 -0
  15. package/dist/cli/init.d.ts.map +1 -0
  16. package/dist/cli/init.js +92 -0
  17. package/dist/cli/init.js.map +1 -0
  18. package/dist/cli/sync.d.ts +5 -0
  19. package/dist/cli/sync.d.ts.map +1 -0
  20. package/dist/cli/sync.js +112 -0
  21. package/dist/cli/sync.js.map +1 -0
  22. package/dist/configuration.d.ts +14 -5
  23. package/dist/configuration.d.ts.map +1 -1
  24. package/dist/configuration.js +9 -5
  25. package/dist/configuration.js.map +1 -1
  26. package/dist/main.d.ts +4 -0
  27. package/dist/main.d.ts.map +1 -0
  28. package/dist/main.js +19 -0
  29. package/dist/main.js.map +1 -0
  30. package/dist/middle-schema/compare-schemas.d.ts +3 -0
  31. package/dist/middle-schema/compare-schemas.d.ts.map +1 -0
  32. package/dist/middle-schema/compare-schemas.js +90 -0
  33. package/dist/middle-schema/compare-schemas.js.map +1 -0
  34. package/dist/middle-schema/generate-typescript.d.ts +7 -0
  35. package/dist/middle-schema/generate-typescript.d.ts.map +1 -0
  36. package/dist/middle-schema/generate-typescript.js +70 -0
  37. package/dist/middle-schema/generate-typescript.js.map +1 -0
  38. package/dist/middle-schema/parse-json-schema.d.ts +4 -0
  39. package/dist/middle-schema/parse-json-schema.d.ts.map +1 -0
  40. package/dist/middle-schema/parse-json-schema.js +65 -0
  41. package/dist/middle-schema/parse-json-schema.js.map +1 -0
  42. package/dist/middle-schema/parse-typescript.d.ts +4 -0
  43. package/dist/middle-schema/parse-typescript.d.ts.map +1 -0
  44. package/dist/middle-schema/parse-typescript.js +199 -0
  45. package/dist/middle-schema/parse-typescript.js.map +1 -0
  46. package/dist/middle-schema/schema-types.d.ts +24 -0
  47. package/dist/middle-schema/schema-types.d.ts.map +1 -0
  48. package/dist/middle-schema/schema-types.js +14 -0
  49. package/dist/middle-schema/schema-types.js.map +1 -0
  50. package/dist/middle-schema/schema.d.ts +24 -0
  51. package/dist/middle-schema/schema.d.ts.map +1 -0
  52. package/dist/middle-schema/schema.js +14 -0
  53. package/dist/middle-schema/schema.js.map +1 -0
  54. package/dist/schema/entities/abstract-entity.d.ts +5 -0
  55. package/dist/schema/entities/abstract-entity.d.ts.map +1 -0
  56. package/dist/schema/entities/abstract-entity.js +3 -0
  57. package/dist/schema/entities/abstract-entity.js.map +1 -0
  58. package/dist/schema/entities/primitive-union.d.ts +12 -0
  59. package/dist/schema/entities/primitive-union.d.ts.map +1 -0
  60. package/dist/schema/entities/primitive-union.js +74 -0
  61. package/dist/schema/entities/primitive-union.js.map +1 -0
  62. package/dist/schema/entities/primitive.d.ts +15 -0
  63. package/dist/schema/entities/primitive.d.ts.map +1 -0
  64. package/dist/schema/entities/primitive.js +54 -0
  65. package/dist/schema/entities/primitive.js.map +1 -0
  66. package/dist/schema/parsers/json-schema.d.ts +4 -0
  67. package/dist/schema/parsers/json-schema.d.ts.map +1 -0
  68. package/dist/schema/parsers/json-schema.js +12 -0
  69. package/dist/schema/parsers/json-schema.js.map +1 -0
  70. package/dist/schema/parsers/typescript.d.ts +3 -0
  71. package/dist/schema/parsers/typescript.d.ts.map +1 -0
  72. package/dist/schema/parsers/typescript.js +24 -0
  73. package/dist/schema/parsers/typescript.js.map +1 -0
  74. package/dist/schemas/input.d.ts +840 -0
  75. package/dist/schemas/input.d.ts.map +1 -0
  76. package/dist/schemas/input.js +349 -0
  77. package/dist/schemas/input.js.map +1 -0
  78. package/dist/utils/filesystem.d.ts +8 -0
  79. package/dist/utils/filesystem.d.ts.map +1 -0
  80. package/dist/utils/filesystem.js +16 -0
  81. package/dist/utils/filesystem.js.map +1 -0
  82. package/dist/utils/json-schemas-interactive-conflict.d.ts +16 -0
  83. package/dist/utils/json-schemas-interactive-conflict.d.ts.map +1 -0
  84. package/dist/utils/json-schemas-interactive-conflict.js +165 -0
  85. package/dist/utils/json-schemas-interactive-conflict.js.map +1 -0
  86. package/dist/utils/json-schemas.d.ts +42 -0
  87. package/dist/utils/json-schemas.d.ts.map +1 -0
  88. package/dist/utils/json-schemas.js +162 -0
  89. package/dist/utils/json-schemas.js.map +1 -0
  90. package/dist/zod/schemas/input.d.ts +840 -0
  91. package/dist/zod/schemas/input.d.ts.map +1 -0
  92. package/dist/zod/schemas/input.js +393 -0
  93. package/dist/zod/schemas/input.js.map +1 -0
  94. package/package.json +12 -12
  95. package/samples/all-defaults/.actor/input_schema.json +32 -3
  96. package/samples/all-defaults/src-schemas/input.json +2 -1
  97. package/samples/deep-merged-schemas/.actor/input_schema.json +36 -3
  98. package/samples/merged-schemas/.actor/input_schema.json +27 -3
  99. package/samples/package-json-config/.actor/input_schema.json +32 -3
  100. package/samples/package-json-config-merged/.actor/input_schema.json +36 -3
  101. package/src/apify.ts +21 -6
  102. package/src/cli/check.ts +114 -0
  103. package/src/cli/init.ts +125 -0
  104. package/src/cli/sync.ts +164 -0
  105. package/src/configuration.ts +17 -7
  106. package/src/main.ts +25 -0
  107. package/src/middle-schema/compare-schemas.ts +113 -0
  108. package/src/middle-schema/generate-typescript.ts +88 -0
  109. package/src/middle-schema/parse-json-schema.ts +104 -0
  110. package/src/middle-schema/parse-typescript.ts +239 -0
  111. package/src/middle-schema/schema-types.ts +40 -0
  112. package/test/apify.test.ts +410 -2
  113. package/test/cli/check.test.ts +1571 -0
  114. package/test/cli/init.test.ts +459 -0
  115. package/test/cli/sync.test.ts +341 -0
  116. package/test/common.ts +68 -0
  117. package/test/configuration.test.ts +8 -8
  118. package/test/middle-schema/compare-schemas.test.ts +585 -0
  119. package/test/middle-schema/generate-typescript.test.ts +191 -0
  120. package/test/middle-schema/parse-json-schema.test.ts +178 -0
  121. package/test/middle-schema/parse-typescript.test.ts +143 -0
  122. package/test/{json-schema-conflicts.test.ts → utils/json-schemas-interactive-conflict.test.ts} +2 -2
  123. package/test/{json-schemas.test.ts → utils/json-schemas.test.ts} +3 -3
  124. package/src/apify-schema-tools.ts +0 -420
  125. package/src/typescript.ts +0 -563
  126. package/test/apify-schema-tools.test.ts +0 -2216
  127. package/test/typescript.test.ts +0 -1079
  128. /package/src/{filesystem.ts → utils/filesystem.ts} +0 -0
  129. /package/src/{json-schema-conflicts.ts → utils/json-schemas-interactive-conflict.ts} +0 -0
  130. /package/src/{json-schemas.ts → utils/json-schemas.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/schemas/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmWxB,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAUjB,CAAC;AAGH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASb,CAAC;AAEZ,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,349 @@
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(["json", "requestListSources", "pseudoUrls", "globs", "keyValue", "stringList", "select", "schemaBased", "hidden"]);
5
+ const objectEditors = z.enum(["json", "proxy", "schemaBased", "hidden"]);
6
+ const resourceTypes = z.enum(["dataset", "keyValueStore", "requestQueue"]);
7
+ const resourcePermissions = z.enum(["READ", "WRITE"]);
8
+ // Utility schemas
9
+ const arrayItemsSelect = z.object({
10
+ type: z.literal("string"),
11
+ enum: z.array(z.string()).min(1),
12
+ enumTitles: z.array(z.string()).min(1).optional(),
13
+ }).strict();
14
+ const arrayItemsKeyValue = z.object({
15
+ type: z.literal("object"),
16
+ properties: z.object({
17
+ key: z.object({
18
+ type: z.literal("string"),
19
+ title: z.string(),
20
+ description: z.string(),
21
+ pattern: z.string().optional(),
22
+ minLength: z.number().int().optional(),
23
+ maxLength: z.number().int().optional(),
24
+ }).strict(),
25
+ value: z.object({
26
+ type: z.literal("string"),
27
+ title: z.string(),
28
+ description: z.string(),
29
+ pattern: z.string().optional(),
30
+ minLength: z.number().int().optional(),
31
+ maxLength: z.number().int().optional(),
32
+ }).strict(),
33
+ }).strict(),
34
+ required: z.array(z.string()).min(0),
35
+ additionalProperties: z.boolean(),
36
+ }).strict();
37
+ const arrayItemsStringList = z.object({
38
+ type: z.literal("string"),
39
+ pattern: z.string().optional(),
40
+ minLength: z.number().int().optional(),
41
+ maxLength: z.number().int().optional(),
42
+ }).strict();
43
+ // Sub-schema property definitions
44
+ const subSchemaStringEnumProperty = z.object({
45
+ type: z.literal("string"),
46
+ editor: z.literal("select"),
47
+ title: z.string(),
48
+ description: z.string(),
49
+ nullable: z.boolean().optional(),
50
+ enum: z.array(z.string()).min(1),
51
+ enumTitles: z.array(z.string()).min(1).optional(),
52
+ }).strict();
53
+ const subSchemaStringProperty = z.object({
54
+ type: z.literal("string"),
55
+ title: z.string(),
56
+ description: z.string(),
57
+ nullable: z.boolean().optional(),
58
+ pattern: z.string().optional(),
59
+ minLength: z.number().int().optional(),
60
+ maxLength: z.number().int().optional(),
61
+ editor: stringEditors.optional(),
62
+ dateType: z.enum(["absolute", "relative", "absoluteOrRelative"]).optional(),
63
+ });
64
+ const subSchemaArrayProperty = z.object({
65
+ type: z.literal("array"),
66
+ title: z.string(),
67
+ description: z.string(),
68
+ nullable: z.boolean().optional(),
69
+ minItems: z.number().int().optional(),
70
+ maxItems: z.number().int().optional(),
71
+ uniqueItems: z.boolean().optional(),
72
+ placeholderKey: z.string().optional(),
73
+ placeholderValue: z.string().optional(),
74
+ patternKey: z.string().optional(),
75
+ patternValue: z.string().optional(),
76
+ editor: arrayEditors.exclude(["schemaBased"]).optional(),
77
+ items: z.union([
78
+ arrayItemsSelect,
79
+ arrayItemsKeyValue,
80
+ arrayItemsStringList,
81
+ z.object({
82
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
83
+ }),
84
+ ]).optional(),
85
+ });
86
+ const subSchemaIntegerProperty = z.object({
87
+ type: z.literal("integer"),
88
+ title: z.string(),
89
+ description: z.string(),
90
+ nullable: z.boolean().optional(),
91
+ minimum: z.number().int().optional(),
92
+ maximum: z.number().int().optional(),
93
+ unit: z.string().optional(),
94
+ editor: z.enum(["number", "hidden"]).optional(),
95
+ }).strict();
96
+ const subSchemaBooleanProperty = z.object({
97
+ type: z.literal("boolean"),
98
+ title: z.string(),
99
+ description: z.string(),
100
+ nullable: z.boolean().optional(),
101
+ groupCaption: z.string().optional(),
102
+ groupDescription: z.string().optional(),
103
+ editor: z.enum(["checkbox", "hidden"]).optional(),
104
+ }).strict();
105
+ const subSchemaResourceProperty = z.object({
106
+ type: z.literal("string"),
107
+ title: z.string(),
108
+ description: z.string(),
109
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
110
+ resourceType: resourceTypes,
111
+ resourcePermissions: z.array(resourcePermissions).min(1).optional(),
112
+ nullable: z.boolean().optional(),
113
+ }).strict();
114
+ const subSchemaResourceArrayProperty = z.object({
115
+ type: z.literal("array"),
116
+ title: z.string(),
117
+ description: z.string(),
118
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
119
+ resourcePermissions: z.array(resourcePermissions).min(1).optional(),
120
+ nullable: z.boolean().optional(),
121
+ minItems: z.number().int().optional(),
122
+ maxItems: z.number().int().optional(),
123
+ uniqueItems: z.boolean().optional(),
124
+ resourceType: resourceTypes,
125
+ }).strict();
126
+ // Simplified object property (avoiding complex recursion for now)
127
+ const subSchemaObjectProperty = z.object({
128
+ type: z.literal("object"),
129
+ title: z.string(),
130
+ description: z.string(),
131
+ patternKey: z.string().optional(),
132
+ patternValue: z.string().optional(),
133
+ nullable: z.boolean().optional(),
134
+ minProperties: z.number().int().optional(),
135
+ maxProperties: z.number().int().optional(),
136
+ editor: z.enum(["json", "proxy", "hidden"]).optional(),
137
+ // Simple properties object to avoid recursion complexity
138
+ properties: z.record(z.string(), z.object({
139
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
140
+ title: z.string().optional(),
141
+ description: z.string().optional(),
142
+ })).optional(),
143
+ required: z.array(z.string()).optional(),
144
+ additionalProperties: z.boolean().optional(),
145
+ }).strict();
146
+ const subSchemaProperty = z.union([
147
+ subSchemaStringEnumProperty,
148
+ subSchemaStringProperty,
149
+ subSchemaArrayProperty,
150
+ subSchemaIntegerProperty,
151
+ subSchemaBooleanProperty,
152
+ subSchemaObjectProperty,
153
+ subSchemaResourceProperty,
154
+ subSchemaResourceArrayProperty,
155
+ ]);
156
+ // Main property definitions
157
+ const stringEnumProperty = z.object({
158
+ type: z.literal("string"),
159
+ editor: z.literal("select"),
160
+ title: z.string(),
161
+ description: z.string(),
162
+ prefill: z.string().optional(),
163
+ example: z.string().optional(),
164
+ nullable: z.boolean().optional(),
165
+ sectionCaption: z.string().optional(),
166
+ sectionDescription: z.string().optional(),
167
+ enum: z.array(z.string()).min(1),
168
+ enumTitles: z.array(z.string()).min(1).optional(),
169
+ default: z.union([z.string(), z.null()]).optional(),
170
+ });
171
+ const stringProperty = z.object({
172
+ type: z.literal("string"),
173
+ title: z.string(),
174
+ description: z.string(),
175
+ nullable: z.boolean().optional(),
176
+ editor: stringEditors,
177
+ isSecret: z.boolean().optional(),
178
+ prefill: z.string().optional(),
179
+ example: z.string().optional(),
180
+ pattern: z.string().optional(),
181
+ minLength: z.number().int().optional(),
182
+ maxLength: z.number().int().optional(),
183
+ sectionCaption: z.string().optional(),
184
+ sectionDescription: z.string().optional(),
185
+ default: z.union([z.string(), z.null()]).optional(),
186
+ });
187
+ const arrayProperty = z.object({
188
+ type: z.literal("array"),
189
+ editor: arrayEditors,
190
+ title: z.string(),
191
+ description: z.string(),
192
+ isSecret: z.boolean().optional(),
193
+ prefill: z.array(z.unknown()).optional(),
194
+ example: z.array(z.unknown()).optional(),
195
+ nullable: z.boolean().optional(),
196
+ minItems: z.number().int().optional(),
197
+ maxItems: z.number().int().optional(),
198
+ uniqueItems: z.boolean().optional(),
199
+ sectionCaption: z.string().optional(),
200
+ sectionDescription: z.string().optional(),
201
+ placeholderKey: z.string().optional(),
202
+ placeholderValue: z.string().optional(),
203
+ patternKey: z.string().optional(),
204
+ patternValue: z.string().optional(),
205
+ items: z.union([
206
+ arrayItemsSelect,
207
+ arrayItemsKeyValue,
208
+ arrayItemsStringList,
209
+ z.object({
210
+ type: z.enum(["string", "integer", "boolean", "object", "array"]),
211
+ }),
212
+ ]).optional(),
213
+ default: z.union([z.array(z.unknown()), z.null()]).optional(),
214
+ });
215
+ const objectProperty = z.object({
216
+ type: z.literal("object"),
217
+ title: z.string(),
218
+ description: z.string(),
219
+ editor: objectEditors,
220
+ isSecret: z.boolean().optional(),
221
+ prefill: z.record(z.string(), z.unknown()).optional(),
222
+ example: z.record(z.string(), z.unknown()).optional(),
223
+ patternKey: z.string().optional(),
224
+ patternValue: z.string().optional(),
225
+ nullable: z.boolean().optional(),
226
+ minProperties: z.number().int().optional(),
227
+ maxProperties: z.number().int().optional(),
228
+ sectionCaption: z.string().optional(),
229
+ sectionDescription: z.string().optional(),
230
+ required: z.array(z.string()).optional(),
231
+ additionalProperties: z.boolean().optional(),
232
+ properties: z.record(z.string(), subSchemaProperty).optional(),
233
+ default: z.union([z.record(z.string(), z.unknown()), z.null()]).optional(),
234
+ });
235
+ const integerProperty = z.object({
236
+ type: z.literal("integer"),
237
+ title: z.string(),
238
+ description: z.string(),
239
+ prefill: z.number().int().optional(),
240
+ example: z.number().int().optional(),
241
+ nullable: z.boolean().optional(),
242
+ minimum: z.number().int().optional(),
243
+ maximum: z.number().int().optional(),
244
+ unit: z.string().optional(),
245
+ editor: z.enum(["number", "hidden"]).optional(),
246
+ sectionCaption: z.string().optional(),
247
+ sectionDescription: z.string().optional(),
248
+ default: z.union([z.number().int(), z.null()]).optional(),
249
+ });
250
+ const booleanProperty = z.object({
251
+ type: z.literal("boolean"),
252
+ title: z.string(),
253
+ description: z.string(),
254
+ prefill: z.boolean().optional(),
255
+ example: z.boolean().optional(),
256
+ nullable: z.boolean().optional(),
257
+ groupCaption: z.string().optional(),
258
+ groupDescription: z.string().optional(),
259
+ editor: z.enum(["checkbox", "hidden"]).optional(),
260
+ sectionCaption: z.string().optional(),
261
+ sectionDescription: z.string().optional(),
262
+ default: z.union([z.boolean(), z.null()]).optional(),
263
+ });
264
+ const resourceProperty = z.object({
265
+ type: z.literal("string"),
266
+ title: z.string(),
267
+ description: z.string(),
268
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
269
+ resourceType: resourceTypes,
270
+ resourcePermissions: z.array(resourcePermissions).min(1).refine((perms) => perms.includes("READ"), { message: "Resource permissions must contain READ" }).optional(),
271
+ prefill: z.string().optional(),
272
+ example: z.string().optional(),
273
+ nullable: z.boolean().optional(),
274
+ sectionCaption: z.string().optional(),
275
+ sectionDescription: z.string().optional(),
276
+ default: z.union([z.string(), z.null()]).optional(),
277
+ });
278
+ const resourceArrayProperty = z.object({
279
+ type: z.literal("array"),
280
+ title: z.string(),
281
+ description: z.string(),
282
+ editor: z.enum(["resourcePicker", "hidden"]).optional(),
283
+ resourcePermissions: z.array(resourcePermissions).min(1).refine((perms) => perms.includes("READ"), { message: "Resource permissions must contain READ" }).optional(),
284
+ prefill: z.array(z.unknown()).optional(),
285
+ example: z.array(z.unknown()).optional(),
286
+ nullable: z.boolean().optional(),
287
+ minItems: z.number().int().optional(),
288
+ maxItems: z.number().int().optional(),
289
+ uniqueItems: z.boolean().optional(),
290
+ resourceType: resourceTypes,
291
+ sectionCaption: z.string().optional(),
292
+ sectionDescription: z.string().optional(),
293
+ default: z.union([z.array(z.unknown()), z.null()]).optional(),
294
+ });
295
+ const anyProperty = z.object({
296
+ type: z.array(z.enum(["object", "array", "string", "integer", "boolean"])).min(1),
297
+ title: z.string(),
298
+ description: z.string(),
299
+ prefill: z.union([
300
+ z.record(z.string(), z.unknown()),
301
+ z.array(z.unknown()),
302
+ z.string(),
303
+ z.number().int(),
304
+ z.boolean()
305
+ ]).optional(),
306
+ example: z.union([
307
+ z.record(z.string(), z.unknown()),
308
+ z.array(z.unknown()),
309
+ z.string(),
310
+ z.number().int(),
311
+ z.boolean()
312
+ ]).optional(),
313
+ nullable: z.boolean().optional(),
314
+ editor: z.enum(["json", "hidden"]),
315
+ sectionCaption: z.string().optional(),
316
+ sectionDescription: z.string().optional(),
317
+ default: z.union([
318
+ z.record(z.string(), z.unknown()),
319
+ z.array(z.unknown()),
320
+ z.string(),
321
+ z.number().int(),
322
+ z.boolean(),
323
+ z.null()
324
+ ]).optional(),
325
+ });
326
+ // Union of all property types
327
+ const inputProperty = z.union([
328
+ stringEnumProperty,
329
+ stringProperty,
330
+ arrayProperty,
331
+ objectProperty,
332
+ integerProperty,
333
+ booleanProperty,
334
+ resourceProperty,
335
+ resourceArrayProperty,
336
+ anyProperty,
337
+ ]);
338
+ // Main input schema
339
+ export const inputSchema = z.object({
340
+ $schema: z.string().optional(),
341
+ title: z.string(),
342
+ schemaVersion: z.number().int().min(1).max(1),
343
+ description: z.string().optional(),
344
+ type: z.literal("object"),
345
+ required: z.array(z.string()).min(0),
346
+ additionalProperties: z.boolean().optional(),
347
+ properties: z.record(z.string(), inputProperty),
348
+ }).strict();
349
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/schemas/input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare function readFile(filePath: string): string;
2
+ /**
3
+ * Writes content to a file, creating the directory structure if it doesn't exist.
4
+ * @param filePath - The path to the file to write.
5
+ * @param content - The content to write to the file.
6
+ */
7
+ export declare function writeFile(filePath: string, content: string): void;
8
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/utils/filesystem.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGjE"}
@@ -0,0 +1,16 @@
1
+ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ const DEFAULT_ENCODING = "utf-8";
4
+ export function readFile(filePath) {
5
+ return readFileSync(filePath, DEFAULT_ENCODING);
6
+ }
7
+ /**
8
+ * Writes content to a file, creating the directory structure if it doesn't exist.
9
+ * @param filePath - The path to the file to write.
10
+ * @param content - The content to write to the file.
11
+ */
12
+ export function writeFile(filePath, content) {
13
+ mkdirSync(dirname(filePath), { recursive: true });
14
+ writeFileSync(filePath, content, DEFAULT_ENCODING);
15
+ }
16
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/utils/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,gBAAgB,GAAmB,OAAO,CAAC;AAEjD,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACxC,OAAO,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;IAC1D,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { ObjectSchema, OmissibleField } from "./json-schemas.js";
2
+ export type ConflictResolutionStrategy = "interactive" | "error" | "log";
3
+ /**
4
+ * Prompt the user to choose between two conflicting values.
5
+ */
6
+ export declare function askValueConflict(message: string, sourceValue?: string, targetValue?: string): Promise<string | undefined>;
7
+ /**
8
+ * Checks for conflicts between the source and target schemas.
9
+ * Asks the user to resolve conflicts interactively if any are found.
10
+ * Returns the source schema modified with the user's choices.
11
+ */
12
+ export declare function checkConflicts(sourceSchema: ObjectSchema, sourceSchemaPath: string, additionalSchema: ObjectSchema | undefined, additionalSchemaPath: string | undefined, targetSchema: ObjectSchema, deepMerge: boolean, fieldsToCheck: OmissibleField[], strategy: ConflictResolutionStrategy): Promise<{
13
+ sourceSchema: ObjectSchema;
14
+ additionalSchema: ObjectSchema | undefined;
15
+ }>;
16
+ //# sourceMappingURL=json-schemas-interactive-conflict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schemas-interactive-conflict.d.ts","sourceRoot":"","sources":["../../src/utils/json-schemas-interactive-conflict.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG,OAAO,GAAG,KAAK,CAAC;AAIzE;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS7B;AA2ND;;;;GAIG;AACH,wBAAsB,cAAc,CACnC,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,YAAY,GAAG,SAAS,EAC1C,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,cAAc,EAAE,EAC/B,QAAQ,EAAE,0BAA0B,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,YAAY,CAAC;IAAC,gBAAgB,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC,CA+BrF"}
@@ -0,0 +1,165 @@
1
+ import { select } from "@inquirer/prompts";
2
+ import { clone } from "ramda";
3
+ const CONFLICT_PROMPT_THEME = { prefix: { idle: "⚠️ ", done: "✅ " } };
4
+ /**
5
+ * Prompt the user to choose between two conflicting values.
6
+ */
7
+ export async function askValueConflict(message, sourceValue, targetValue) {
8
+ return await select({
9
+ message,
10
+ choices: [
11
+ { name: `[source] ${sourceValue}`, value: sourceValue },
12
+ { name: `[target] ${targetValue}`, value: targetValue },
13
+ ],
14
+ theme: CONFLICT_PROMPT_THEME,
15
+ });
16
+ }
17
+ /**
18
+ * Manage a detected conflict based on the resolution strategy.
19
+ */
20
+ async function manageConflict(errorMessage, interactiveAction, strategy) {
21
+ switch (strategy) {
22
+ case "interactive":
23
+ await interactiveAction();
24
+ break;
25
+ case "error":
26
+ throw new Error(errorMessage);
27
+ case "log":
28
+ console.warn(errorMessage);
29
+ break;
30
+ default:
31
+ throw new Error(`Unknown conflict resolution strategy: ${strategy}`);
32
+ }
33
+ }
34
+ /**
35
+ * Check for conflicts in a specific field between two schemas.
36
+ */
37
+ async function manageFieldConflict(path, field, originSchema, originSchemaName, targetSchema, strategy) {
38
+ if (originSchema[field] === targetSchema[field] || !targetSchema[field]) {
39
+ return originSchema;
40
+ }
41
+ const alteredSchema = clone(originSchema);
42
+ const pathString = `[${[...path, field].join(" > ")}]`;
43
+ const errorMessage = `Field ${pathString} in the ${originSchemaName} differs from the target schema.`;
44
+ await manageConflict(errorMessage, async () => {
45
+ const userChoice = await askValueConflict(`${errorMessage} Choose which to keep:`, originSchema[field], targetSchema[field]);
46
+ alteredSchema[field] = userChoice;
47
+ }, strategy);
48
+ return alteredSchema;
49
+ }
50
+ async function checkRootFieldsConflicts(sourceSchema, additionalSchema, targetSchema, fieldsToCheck, strategy) {
51
+ let alteredSourceSchema = clone(sourceSchema);
52
+ let alteredAdditionalSchema = clone(additionalSchema);
53
+ for (const field of fieldsToCheck) {
54
+ if (alteredAdditionalSchema && field in alteredAdditionalSchema) {
55
+ // biome-ignore lint/performance/noAwaitInLoops: user interaction for each field
56
+ alteredAdditionalSchema = await manageFieldConflict([], field, alteredAdditionalSchema, "additional schema", targetSchema, strategy);
57
+ }
58
+ else {
59
+ alteredSourceSchema = await manageFieldConflict([], field, alteredSourceSchema, "source schema", targetSchema, strategy);
60
+ }
61
+ }
62
+ return {
63
+ sourceSchema: alteredSourceSchema,
64
+ additionalSchema: alteredAdditionalSchema,
65
+ };
66
+ }
67
+ function getUnionKeys(record1, record2) {
68
+ const keys1 = Object.keys(record1 ?? {});
69
+ const keys2 = Object.keys(record2 ?? {});
70
+ return Array.from(new Set([...keys1, ...keys2]));
71
+ }
72
+ async function checkPropertyFieldsConflicts(sourceSchema, additionalSchema, targetSchema, deepMerge, fieldsToCheck, strategy) {
73
+ if (!targetSchema.properties) {
74
+ return { sourceSchema, additionalSchema };
75
+ }
76
+ const alteredSourceSchema = clone(sourceSchema);
77
+ const alteredAdditionalSchema = clone(additionalSchema);
78
+ for (const key of getUnionKeys(alteredSourceSchema.properties, alteredAdditionalSchema?.properties)) {
79
+ if (!(key in targetSchema.properties)) {
80
+ continue;
81
+ }
82
+ const sourceProp = alteredSourceSchema.properties?.[key];
83
+ const additionalProp = alteredAdditionalSchema?.properties?.[key];
84
+ const targetProp = targetSchema.properties[key];
85
+ for (const field of fieldsToCheck) {
86
+ if (alteredAdditionalSchema && additionalProp && (!deepMerge || field in additionalProp)) {
87
+ // biome-ignore lint/performance/noAwaitInLoops: user interaction for each field
88
+ const resultProp = await manageFieldConflict(["properties", key], field, additionalProp, "additional schema", targetProp, strategy);
89
+ alteredAdditionalSchema.properties = {
90
+ ...alteredAdditionalSchema?.properties,
91
+ [key]: resultProp,
92
+ };
93
+ continue;
94
+ }
95
+ if (sourceProp) {
96
+ const resultProp = await manageFieldConflict(["properties", key], field, sourceProp, "source schema", targetProp, strategy);
97
+ alteredSourceSchema.properties = {
98
+ ...alteredSourceSchema.properties,
99
+ [key]: resultProp,
100
+ };
101
+ }
102
+ }
103
+ }
104
+ return {
105
+ sourceSchema: alteredSourceSchema,
106
+ additionalSchema: alteredAdditionalSchema,
107
+ };
108
+ }
109
+ async function checkRemovedPropertyConflicts(sourceSchema, sourceSchemaPath, additionalSchema, additionalSchemaPath, targetSchema, strategy) {
110
+ const alteredSourceSchema = clone(sourceSchema);
111
+ const alteredAdditionalSchema = clone(additionalSchema);
112
+ for (const [key, targetValue] of Object.entries(targetSchema.properties ?? {})) {
113
+ if (!(key in (alteredSourceSchema.properties ?? {}) || key in (alteredAdditionalSchema?.properties ?? {}))) {
114
+ const errorMessage = `Property "${key}" was removed from the source schema.`;
115
+ // biome-ignore lint/performance/noAwaitInLoops: user interaction for each field
116
+ await manageConflict(errorMessage, async () => {
117
+ const deleteField = await select({
118
+ message: `${errorMessage} What do you want to do?`,
119
+ choices: [
120
+ { name: "Confirm deletion", value: true },
121
+ { name: "Restore field", value: false },
122
+ ],
123
+ theme: CONFLICT_PROMPT_THEME,
124
+ });
125
+ if (deleteField) {
126
+ return;
127
+ }
128
+ const restoreToAdditionalSchema = alteredAdditionalSchema &&
129
+ (await select({
130
+ message: `Which schema should property "${key}" be restored to?`,
131
+ choices: [
132
+ { name: "Source Schema", value: false, description: sourceSchemaPath },
133
+ { name: "Additional Schema", value: true, description: additionalSchemaPath },
134
+ ],
135
+ theme: CONFLICT_PROMPT_THEME,
136
+ }));
137
+ const schemaToRestoreFieldTo = restoreToAdditionalSchema ? alteredAdditionalSchema : alteredSourceSchema;
138
+ schemaToRestoreFieldTo.properties = {
139
+ ...schemaToRestoreFieldTo.properties,
140
+ [key]: clone(targetValue),
141
+ };
142
+ }, strategy);
143
+ }
144
+ }
145
+ return {
146
+ sourceSchema: alteredSourceSchema,
147
+ additionalSchema: alteredAdditionalSchema,
148
+ };
149
+ }
150
+ /**
151
+ * Checks for conflicts between the source and target schemas.
152
+ * Asks the user to resolve conflicts interactively if any are found.
153
+ * Returns the source schema modified with the user's choices.
154
+ */
155
+ export async function checkConflicts(sourceSchema, sourceSchemaPath, additionalSchema, additionalSchemaPath, targetSchema, deepMerge, fieldsToCheck, strategy) {
156
+ let alteredSchemas = {
157
+ sourceSchema: clone(sourceSchema),
158
+ additionalSchema: clone(additionalSchema),
159
+ };
160
+ alteredSchemas = await checkRootFieldsConflicts(alteredSchemas.sourceSchema, alteredSchemas.additionalSchema, targetSchema, fieldsToCheck, strategy);
161
+ alteredSchemas = await checkPropertyFieldsConflicts(alteredSchemas.sourceSchema, alteredSchemas.additionalSchema, targetSchema, deepMerge, fieldsToCheck, strategy);
162
+ alteredSchemas = await checkRemovedPropertyConflicts(alteredSchemas.sourceSchema, sourceSchemaPath, alteredSchemas.additionalSchema, additionalSchemaPath, targetSchema, strategy);
163
+ return alteredSchemas;
164
+ }
165
+ //# sourceMappingURL=json-schemas-interactive-conflict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schemas-interactive-conflict.js","sourceRoot":"","sources":["../../src/utils/json-schemas-interactive-conflict.ts"],"names":[],"mappings":"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"}