avrotize 2.21.1__py3-none-any.whl

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 (171) hide show
  1. avrotize/__init__.py +66 -0
  2. avrotize/__main__.py +6 -0
  3. avrotize/_version.py +34 -0
  4. avrotize/asn1toavro.py +160 -0
  5. avrotize/avrotize.py +152 -0
  6. avrotize/avrotocpp/CMakeLists.txt.jinja +77 -0
  7. avrotize/avrotocpp/build.bat.jinja +7 -0
  8. avrotize/avrotocpp/build.sh.jinja +7 -0
  9. avrotize/avrotocpp/dataclass_body.jinja +108 -0
  10. avrotize/avrotocpp/vcpkg.json.jinja +21 -0
  11. avrotize/avrotocpp.py +483 -0
  12. avrotize/avrotocsharp/README.md.jinja +166 -0
  13. avrotize/avrotocsharp/class_test.cs.jinja +266 -0
  14. avrotize/avrotocsharp/dataclass_core.jinja +293 -0
  15. avrotize/avrotocsharp/enum_test.cs.jinja +20 -0
  16. avrotize/avrotocsharp/project.csproj.jinja +30 -0
  17. avrotize/avrotocsharp/project.sln.jinja +34 -0
  18. avrotize/avrotocsharp/run_coverage.ps1.jinja +98 -0
  19. avrotize/avrotocsharp/run_coverage.sh.jinja +149 -0
  20. avrotize/avrotocsharp/testproject.csproj.jinja +19 -0
  21. avrotize/avrotocsharp.py +1180 -0
  22. avrotize/avrotocsv.py +121 -0
  23. avrotize/avrotodatapackage.py +173 -0
  24. avrotize/avrotodb.py +1383 -0
  25. avrotize/avrotogo/go_enum.jinja +12 -0
  26. avrotize/avrotogo/go_helpers.jinja +31 -0
  27. avrotize/avrotogo/go_struct.jinja +151 -0
  28. avrotize/avrotogo/go_test.jinja +47 -0
  29. avrotize/avrotogo/go_union.jinja +38 -0
  30. avrotize/avrotogo.py +476 -0
  31. avrotize/avrotographql.py +197 -0
  32. avrotize/avrotoiceberg.py +210 -0
  33. avrotize/avrotojava/class_test.java.jinja +212 -0
  34. avrotize/avrotojava/enum_test.java.jinja +21 -0
  35. avrotize/avrotojava/testproject.pom.jinja +54 -0
  36. avrotize/avrotojava.py +2156 -0
  37. avrotize/avrotojs.py +250 -0
  38. avrotize/avrotojsons.py +481 -0
  39. avrotize/avrotojstruct.py +345 -0
  40. avrotize/avrotokusto.py +364 -0
  41. avrotize/avrotomd/README.md.jinja +49 -0
  42. avrotize/avrotomd.py +137 -0
  43. avrotize/avrotools.py +168 -0
  44. avrotize/avrotoparquet.py +208 -0
  45. avrotize/avrotoproto.py +359 -0
  46. avrotize/avrotopython/dataclass_core.jinja +241 -0
  47. avrotize/avrotopython/enum_core.jinja +87 -0
  48. avrotize/avrotopython/pyproject_toml.jinja +18 -0
  49. avrotize/avrotopython/test_class.jinja +97 -0
  50. avrotize/avrotopython/test_enum.jinja +23 -0
  51. avrotize/avrotopython.py +626 -0
  52. avrotize/avrotorust/dataclass_enum.rs.jinja +74 -0
  53. avrotize/avrotorust/dataclass_struct.rs.jinja +204 -0
  54. avrotize/avrotorust/dataclass_union.rs.jinja +105 -0
  55. avrotize/avrotorust.py +435 -0
  56. avrotize/avrotots/class_core.ts.jinja +140 -0
  57. avrotize/avrotots/class_test.ts.jinja +77 -0
  58. avrotize/avrotots/enum_core.ts.jinja +46 -0
  59. avrotize/avrotots/gitignore.jinja +34 -0
  60. avrotize/avrotots/index.ts.jinja +0 -0
  61. avrotize/avrotots/package.json.jinja +23 -0
  62. avrotize/avrotots/tsconfig.json.jinja +21 -0
  63. avrotize/avrotots.py +687 -0
  64. avrotize/avrotoxsd.py +344 -0
  65. avrotize/cddltostructure.py +1841 -0
  66. avrotize/commands.json +3496 -0
  67. avrotize/common.py +834 -0
  68. avrotize/constants.py +87 -0
  69. avrotize/csvtoavro.py +132 -0
  70. avrotize/datapackagetoavro.py +76 -0
  71. avrotize/dependencies/cpp/vcpkg/vcpkg.json +19 -0
  72. avrotize/dependencies/cs/net90/dependencies.csproj +29 -0
  73. avrotize/dependencies/go/go121/go.mod +6 -0
  74. avrotize/dependencies/java/jdk21/pom.xml +91 -0
  75. avrotize/dependencies/python/py312/requirements.txt +13 -0
  76. avrotize/dependencies/rust/stable/Cargo.toml +17 -0
  77. avrotize/dependencies/typescript/node22/package.json +16 -0
  78. avrotize/dependency_resolver.py +348 -0
  79. avrotize/dependency_version.py +432 -0
  80. avrotize/generic/generic.avsc +57 -0
  81. avrotize/jsonstoavro.py +2167 -0
  82. avrotize/jsonstostructure.py +2864 -0
  83. avrotize/jstructtoavro.py +878 -0
  84. avrotize/kstructtoavro.py +93 -0
  85. avrotize/kustotoavro.py +455 -0
  86. avrotize/openapitostructure.py +717 -0
  87. avrotize/parquettoavro.py +157 -0
  88. avrotize/proto2parser.py +498 -0
  89. avrotize/proto3parser.py +403 -0
  90. avrotize/prototoavro.py +382 -0
  91. avrotize/prototypes/any.avsc +19 -0
  92. avrotize/prototypes/api.avsc +106 -0
  93. avrotize/prototypes/duration.avsc +20 -0
  94. avrotize/prototypes/field_mask.avsc +18 -0
  95. avrotize/prototypes/struct.avsc +60 -0
  96. avrotize/prototypes/timestamp.avsc +20 -0
  97. avrotize/prototypes/type.avsc +253 -0
  98. avrotize/prototypes/wrappers.avsc +117 -0
  99. avrotize/structuretocddl.py +597 -0
  100. avrotize/structuretocpp/CMakeLists.txt.jinja +76 -0
  101. avrotize/structuretocpp/build.bat.jinja +3 -0
  102. avrotize/structuretocpp/build.sh.jinja +3 -0
  103. avrotize/structuretocpp/dataclass_body.jinja +50 -0
  104. avrotize/structuretocpp/vcpkg.json.jinja +11 -0
  105. avrotize/structuretocpp.py +697 -0
  106. avrotize/structuretocsharp/class_test.cs.jinja +180 -0
  107. avrotize/structuretocsharp/dataclass_core.jinja +156 -0
  108. avrotize/structuretocsharp/enum_test.cs.jinja +36 -0
  109. avrotize/structuretocsharp/json_structure_converters.cs.jinja +399 -0
  110. avrotize/structuretocsharp/program.cs.jinja +49 -0
  111. avrotize/structuretocsharp/project.csproj.jinja +17 -0
  112. avrotize/structuretocsharp/project.sln.jinja +34 -0
  113. avrotize/structuretocsharp/testproject.csproj.jinja +18 -0
  114. avrotize/structuretocsharp/tuple_converter.cs.jinja +121 -0
  115. avrotize/structuretocsharp.py +2295 -0
  116. avrotize/structuretocsv.py +365 -0
  117. avrotize/structuretodatapackage.py +659 -0
  118. avrotize/structuretodb.py +1125 -0
  119. avrotize/structuretogo/go_enum.jinja +12 -0
  120. avrotize/structuretogo/go_helpers.jinja +26 -0
  121. avrotize/structuretogo/go_interface.jinja +18 -0
  122. avrotize/structuretogo/go_struct.jinja +187 -0
  123. avrotize/structuretogo/go_test.jinja +70 -0
  124. avrotize/structuretogo.py +729 -0
  125. avrotize/structuretographql.py +502 -0
  126. avrotize/structuretoiceberg.py +355 -0
  127. avrotize/structuretojava/choice_core.jinja +34 -0
  128. avrotize/structuretojava/class_core.jinja +23 -0
  129. avrotize/structuretojava/enum_core.jinja +18 -0
  130. avrotize/structuretojava/equals_hashcode.jinja +30 -0
  131. avrotize/structuretojava/pom.xml.jinja +26 -0
  132. avrotize/structuretojava/tuple_core.jinja +49 -0
  133. avrotize/structuretojava.py +938 -0
  134. avrotize/structuretojs/class_core.js.jinja +33 -0
  135. avrotize/structuretojs/enum_core.js.jinja +10 -0
  136. avrotize/structuretojs/package.json.jinja +12 -0
  137. avrotize/structuretojs/test_class.js.jinja +84 -0
  138. avrotize/structuretojs/test_enum.js.jinja +58 -0
  139. avrotize/structuretojs/test_runner.js.jinja +45 -0
  140. avrotize/structuretojs.py +657 -0
  141. avrotize/structuretojsons.py +498 -0
  142. avrotize/structuretokusto.py +639 -0
  143. avrotize/structuretomd/README.md.jinja +204 -0
  144. avrotize/structuretomd.py +322 -0
  145. avrotize/structuretoproto.py +764 -0
  146. avrotize/structuretopython/dataclass_core.jinja +363 -0
  147. avrotize/structuretopython/enum_core.jinja +45 -0
  148. avrotize/structuretopython/map_alias.jinja +21 -0
  149. avrotize/structuretopython/pyproject_toml.jinja +23 -0
  150. avrotize/structuretopython/test_class.jinja +103 -0
  151. avrotize/structuretopython/test_enum.jinja +34 -0
  152. avrotize/structuretopython.py +799 -0
  153. avrotize/structuretorust/dataclass_enum.rs.jinja +63 -0
  154. avrotize/structuretorust/dataclass_struct.rs.jinja +121 -0
  155. avrotize/structuretorust/dataclass_union.rs.jinja +81 -0
  156. avrotize/structuretorust.py +714 -0
  157. avrotize/structuretots/class_core.ts.jinja +78 -0
  158. avrotize/structuretots/enum_core.ts.jinja +6 -0
  159. avrotize/structuretots/gitignore.jinja +8 -0
  160. avrotize/structuretots/index.ts.jinja +1 -0
  161. avrotize/structuretots/package.json.jinja +39 -0
  162. avrotize/structuretots/test_class.ts.jinja +35 -0
  163. avrotize/structuretots/tsconfig.json.jinja +21 -0
  164. avrotize/structuretots.py +740 -0
  165. avrotize/structuretoxsd.py +679 -0
  166. avrotize/xsdtoavro.py +413 -0
  167. avrotize-2.21.1.dist-info/METADATA +1319 -0
  168. avrotize-2.21.1.dist-info/RECORD +171 -0
  169. avrotize-2.21.1.dist-info/WHEEL +4 -0
  170. avrotize-2.21.1.dist-info/entry_points.txt +3 -0
  171. avrotize-2.21.1.dist-info/licenses/LICENSE +201 -0
avrotize/commands.json ADDED
@@ -0,0 +1,3496 @@
1
+ [
2
+ {
3
+ "command": "p2a",
4
+ "description": "Convert Proto schema to Avrotize schema",
5
+ "group": "1_Schemas",
6
+ "function": {
7
+ "name": "avrotize.prototoavro.convert_proto_to_avro",
8
+ "args": {
9
+ "proto_file_path": "input_file_path",
10
+ "avro_schema_path": "output_file_path",
11
+ "namespace": "args.namespace",
12
+ "message_type": "args.message_type",
13
+ "proto_root": "args.proto_root"
14
+ }
15
+ },
16
+ "extensions": [
17
+ ".proto"
18
+ ],
19
+ "args": [
20
+ {
21
+ "name": "input",
22
+ "type": "str",
23
+ "nargs": "?",
24
+ "help": "Path of the proto file (or read from stdin if omitted)",
25
+ "required": false
26
+ },
27
+ {
28
+ "name": "--out",
29
+ "type": "str",
30
+ "help": "Path to the Avrotize schema file",
31
+ "required": false
32
+ },
33
+ {
34
+ "name": "--proto",
35
+ "type": "str",
36
+ "help": "Deprecated: Path of the proto file (for backcompat)",
37
+ "required": false
38
+ },
39
+ {
40
+ "name": "--namespace",
41
+ "type": "str",
42
+ "help": "Namespace for the Avrotize schema",
43
+ "required": false
44
+ },
45
+ {
46
+ "name": "--message-type",
47
+ "type": "str",
48
+ "help": "Generate the schema for a specific Proto message type and inline all references",
49
+ "required": false
50
+ },
51
+ {
52
+ "name": "--proto-root",
53
+ "type": "str",
54
+ "help": "Root directory for resolving proto imports (useful for buf-style module roots)",
55
+ "required": false
56
+ }
57
+ ],
58
+ "suggested_output_file_path": "{input_file_name}.avsc",
59
+ "prompts": []
60
+ },
61
+ {
62
+ "command": "a2p",
63
+ "description": "Convert Avrotize schema to Proto schema",
64
+ "group": "1_Schemas",
65
+ "function": {
66
+ "name": "avrotize.avrotoproto.convert_avro_to_proto",
67
+ "args": {
68
+ "avro_schema_path": "input_file_path",
69
+ "proto_file_path": "output_file_path",
70
+ "naming_mode": "args.naming",
71
+ "allow_optional": "args.allow_optional"
72
+ }
73
+ },
74
+ "extensions": [
75
+ ".avsc"
76
+ ],
77
+ "args": [
78
+ {
79
+ "name": "input",
80
+ "type": "str",
81
+ "nargs": "?",
82
+ "help": "Path to the Proto file (or read from stdin if omitted)",
83
+ "required": false
84
+ },
85
+ {
86
+ "name": "--out",
87
+ "type": "str",
88
+ "help": "Path to the Avrotize schema file",
89
+ "required": false
90
+ },
91
+ {
92
+ "name": "--avsc",
93
+ "type": "str",
94
+ "help": "Deprecated: Path to the Proto file (for backcompat)",
95
+ "required": false
96
+ },
97
+ {
98
+ "name": "--naming",
99
+ "type": "str",
100
+ "help": "Type naming convention",
101
+ "choices": [
102
+ "snake",
103
+ "camel",
104
+ "pascal"
105
+ ],
106
+ "required": false,
107
+ "default": "pascal"
108
+ },
109
+ {
110
+ "name": "--allow-optional",
111
+ "type": "bool",
112
+ "help": "Enable support for 'optional' fields",
113
+ "default": false,
114
+ "required": false
115
+ }
116
+ ],
117
+ "suggested_output_file_path": "{input_file_name}-proto",
118
+ "prompts": [
119
+ {
120
+ "name": "--naming",
121
+ "message": "Select type naming convention",
122
+ "choices": [
123
+ "snake",
124
+ "camel",
125
+ "pascal"
126
+ ],
127
+ "default": "pascal",
128
+ "required": false
129
+ },
130
+ {
131
+ "name": "--allow-optional",
132
+ "message": "Enable support for 'optional' fields?",
133
+ "type": "bool",
134
+ "default": false,
135
+ "required": false
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "command": "s2p",
141
+ "description": "Convert JSON Structure to Protocol Buffers (.proto)",
142
+ "group": "1_Schemas",
143
+ "function": {
144
+ "name": "avrotize.structuretoproto.convert_structure_to_proto",
145
+ "args": {
146
+ "structure_schema_path": "input_file_path",
147
+ "proto_file_path": "output_file_path",
148
+ "naming_mode": "args.naming_mode",
149
+ "allow_optional": "args.allow_optional"
150
+ }
151
+ },
152
+ "extensions": [
153
+ ".struct.json",
154
+ ".json"
155
+ ],
156
+ "args": [
157
+ {
158
+ "name": "input",
159
+ "type": "str",
160
+ "nargs": "?",
161
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
162
+ "required": false
163
+ },
164
+ {
165
+ "name": "--out",
166
+ "type": "str",
167
+ "help": "Output path for the Protocol Buffers .proto files",
168
+ "required": false
169
+ },
170
+ {
171
+ "name": "--struct",
172
+ "type": "str",
173
+ "help": "Deprecated: Path to the JSON Structure file (for backcompat)",
174
+ "required": false
175
+ },
176
+ {
177
+ "name": "--naming-mode",
178
+ "type": "str",
179
+ "help": "Naming convention for message and field names",
180
+ "choices": [
181
+ "pascal",
182
+ "camel",
183
+ "snake"
184
+ ],
185
+ "default": "pascal",
186
+ "required": false
187
+ },
188
+ {
189
+ "name": "--allow-optional",
190
+ "type": "bool",
191
+ "help": "Use 'optional' keyword for nullable fields (proto3)",
192
+ "default": false,
193
+ "required": false
194
+ }
195
+ ],
196
+ "suggested_output_file_path": "{input_file_name}-proto",
197
+ "prompts": []
198
+ },
199
+ {
200
+ "command": "j2a",
201
+ "description": "Convert JSON schema to Avrotize schema",
202
+ "group": "1_Schemas",
203
+ "function": {
204
+ "name": "avrotize.jsonstoavro.convert_jsons_to_avro",
205
+ "args": {
206
+ "json_schema_file_path": "input_file_path",
207
+ "avro_schema_path": "output_file_path",
208
+ "namespace": "args.namespace",
209
+ "split_top_level_records": "args.split_top_level_records"
210
+ }
211
+ },
212
+ "extensions": [
213
+ ".json",
214
+ ".jsons"
215
+ ],
216
+ "args": [
217
+ {
218
+ "name": "input",
219
+ "type": "str",
220
+ "nargs": "?",
221
+ "help": "Path to the JSON schema file (or read from stdin if omitted)",
222
+ "required": false
223
+ },
224
+ {
225
+ "name": "--out",
226
+ "type": "str",
227
+ "help": "Path to the Avrotize schema file",
228
+ "required": false
229
+ },
230
+ {
231
+ "name": "--jsons",
232
+ "type": "str",
233
+ "help": "Deprecated: Path to the JSON schema file (for backcompat)",
234
+ "required": false
235
+ },
236
+ {
237
+ "name": "--namespace",
238
+ "type": "str",
239
+ "help": "Namespace for the Avrotize schema",
240
+ "required": false
241
+ },
242
+ {
243
+ "name": "--split-top-level-records",
244
+ "type": "bool",
245
+ "help": "Split top-level records into separate files",
246
+ "default": false,
247
+ "required": false
248
+ }
249
+ ],
250
+ "suggested_output_file_path": "{input_file_name}.avsc",
251
+ "prompts": [
252
+ {
253
+ "name": "--namespace",
254
+ "message": "Enter the namespace for the Avro schema",
255
+ "type": "str",
256
+ "required": false
257
+ },
258
+ {
259
+ "name": "--split-top-level-records",
260
+ "message": "Split top-level records into separate files?",
261
+ "type": "bool",
262
+ "default": false,
263
+ "required": false
264
+ }
265
+ ]
266
+ },
267
+ {
268
+ "command": "a2j",
269
+ "description": "Convert Avrotize schema to JSON schema",
270
+ "group": "1_Schemas",
271
+ "function": {
272
+ "name": "avrotize.avrotojsons.convert_avro_to_json_schema",
273
+ "args": {
274
+ "avro_schema_file": "input_file_path",
275
+ "json_schema_file": "output_file_path",
276
+ "naming_mode": "args.naming"
277
+ }
278
+ },
279
+ "extensions": [
280
+ ".avsc"
281
+ ],
282
+ "args": [
283
+ {
284
+ "name": "input",
285
+ "type": "str",
286
+ "nargs": "?",
287
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
288
+ "required": false
289
+ },
290
+ {
291
+ "name": "--out",
292
+ "type": "str",
293
+ "help": "Path to the JSON schema file",
294
+ "required": false
295
+ },
296
+ {
297
+ "name": "--avsc",
298
+ "type": "str",
299
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
300
+ "required": false
301
+ },
302
+ {
303
+ "name": "--naming",
304
+ "type": "str",
305
+ "help": "Type naming convention",
306
+ "choices": [
307
+ "snake",
308
+ "camel",
309
+ "pascal",
310
+ "default"
311
+ ],
312
+ "required": false,
313
+ "default": "default"
314
+ }
315
+ ],
316
+ "suggested_output_file_path": "{input_file_name}.jsons",
317
+ "prompts": []
318
+ },
319
+ {
320
+ "command": "j2s",
321
+ "description": "Convert JSON schema to JSON Structure",
322
+ "group": "1_Schemas",
323
+ "function": {
324
+ "name": "avrotize.jsonstostructure.convert_json_schema_to_structure_files",
325
+ "args": {
326
+ "json_schema_file_path": "input_file_path",
327
+ "structure_schema_path": "output_file_path",
328
+ "root_namespace": "args.namespace"
329
+ }
330
+ },
331
+ "extensions": [
332
+ ".json",
333
+ ".jsons"
334
+ ],
335
+ "args": [
336
+ {
337
+ "name": "input",
338
+ "type": "str",
339
+ "nargs": "?",
340
+ "help": "Path to the JSON schema file (or read from stdin if omitted)",
341
+ "required": false
342
+ },
343
+ {
344
+ "name": "--out",
345
+ "type": "str",
346
+ "help": "Path to the JSON Structure file",
347
+ "required": false
348
+ },
349
+ {
350
+ "name": "--namespace",
351
+ "type": "str",
352
+ "help": "Namespace for the JSON Structure schema",
353
+ "required": false
354
+ },
355
+ {
356
+ "name": "--utility-namespace",
357
+ "type": "str",
358
+ "help": "Namespace for utility types",
359
+ "required": false
360
+ },
361
+ {
362
+ "name": "--root-class-name",
363
+ "type": "str",
364
+ "help": "Name of the root class",
365
+ "default": "document",
366
+ "required": false
367
+ },
368
+ {
369
+ "name": "--preserve-composition",
370
+ "type": "bool",
371
+ "help": "Preserve composition keywords (allOf, oneOf, anyOf)",
372
+ "default": true,
373
+ "required": false
374
+ },
375
+ {
376
+ "name": "--detect-inheritance",
377
+ "type": "bool",
378
+ "help": "Detect inheritance patterns in allOf schemas",
379
+ "default": true,
380
+ "required": false
381
+ },
382
+ {
383
+ "name": "--detect-discriminators",
384
+ "type": "bool",
385
+ "help": "Detect OpenAPI discriminator patterns",
386
+ "default": true,
387
+ "required": false
388
+ },
389
+ {
390
+ "name": "--convert-empty-objects-to-maps",
391
+ "type": "bool",
392
+ "help": "Convert objects with only additionalProperties to maps",
393
+ "default": true,
394
+ "required": false
395
+ }
396
+ ],
397
+ "suggested_output_file_path": "{input_file_name}.struct.json",
398
+ "prompts": [
399
+ {
400
+ "name": "--namespace",
401
+ "message": "Enter the namespace for the JSON Structure schema",
402
+ "type": "str",
403
+ "required": false
404
+ },
405
+ {
406
+ "name": "--root-class-name",
407
+ "message": "Enter the name of the root class",
408
+ "type": "str",
409
+ "default": "document",
410
+ "required": false
411
+ }
412
+ ]
413
+ },
414
+ {
415
+ "command": "s2j",
416
+ "description": "Convert JSON Structure to JSON Schema",
417
+ "group": "1_Schemas",
418
+ "function": {
419
+ "name": "avrotize.structuretojsons.convert_structure_to_json_schema",
420
+ "args": {
421
+ "structure_file_path": "input_file_path",
422
+ "json_schema_path": "output_file_path"
423
+ }
424
+ },
425
+ "extensions": [
426
+ ".struct.json",
427
+ ".json"
428
+ ],
429
+ "args": [
430
+ {
431
+ "name": "input",
432
+ "type": "str",
433
+ "nargs": "?",
434
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
435
+ "required": false
436
+ },
437
+ {
438
+ "name": "--out",
439
+ "type": "str",
440
+ "help": "Path to the JSON Schema file",
441
+ "required": false
442
+ }
443
+ ],
444
+ "suggested_output_file_path": "{input_file_name}.schema.json",
445
+ "prompts": []
446
+ },
447
+ {
448
+ "command": "x2a",
449
+ "description": "Convert XSD schema to Avrotize schema",
450
+ "group": "1_Schemas",
451
+ "function": {
452
+ "name": "avrotize.xsdtoavro.convert_xsd_to_avro",
453
+ "args": {
454
+ "xsd_path": "input_file_path",
455
+ "avro_path": "output_file_path",
456
+ "namespace": "args.namespace"
457
+ }
458
+ },
459
+ "extensions": [
460
+ ".xsd"
461
+ ],
462
+ "args": [
463
+ {
464
+ "name": "input",
465
+ "type": "str",
466
+ "nargs": "?",
467
+ "help": "Path to the XSD schema file (or read from stdin if omitted)",
468
+ "required": false
469
+ },
470
+ {
471
+ "name": "--out",
472
+ "type": "str",
473
+ "help": "Path to the Avrotize schema file",
474
+ "required": false
475
+ },
476
+ {
477
+ "name": "--xsd",
478
+ "type": "str",
479
+ "help": "Deprecated: Path to the XSD schema file (for backcompat)",
480
+ "required": false
481
+ },
482
+ {
483
+ "name": "--namespace",
484
+ "type": "str",
485
+ "help": "Namespace for the Avrotize schema",
486
+ "required": false
487
+ }
488
+ ],
489
+ "suggested_output_file_path": "{input_file_name}.avsc",
490
+ "prompts": [
491
+ {
492
+ "name": "--namespace",
493
+ "message": "Enter the namespace for the Avro schema",
494
+ "type": "str",
495
+ "required": false
496
+ }
497
+ ]
498
+ },
499
+ {
500
+ "command": "a2x",
501
+ "description": "Convert Avrotize schema to XSD schema",
502
+ "group": "1_Schemas",
503
+ "function": {
504
+ "name": "avrotize.avrotoxsd.convert_avro_to_xsd",
505
+ "args": {
506
+ "avro_schema_path": "input_file_path",
507
+ "xml_file_path": "output_file_path",
508
+ "target_namespace": "args.namespace"
509
+ }
510
+ },
511
+ "extensions": [
512
+ ".avsc"
513
+ ],
514
+ "args": [
515
+ {
516
+ "name": "input",
517
+ "type": "str",
518
+ "nargs": "?",
519
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
520
+ "required": false
521
+ },
522
+ {
523
+ "name": "--out",
524
+ "type": "str",
525
+ "help": "Path to the XSD schema file",
526
+ "required": false
527
+ },
528
+ {
529
+ "name": "--avsc",
530
+ "type": "str",
531
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
532
+ "required": false
533
+ },
534
+ {
535
+ "name": "--namespace",
536
+ "type": "str",
537
+ "help": "Target namespace for the XSD schema",
538
+ "required": false
539
+ }
540
+ ],
541
+ "suggested_output_file_path": "{input_file_name}.xsd",
542
+ "prompts": [
543
+ {
544
+ "name": "--namespace",
545
+ "message": "Enter the target namespace for the XSD schema (optional)",
546
+ "type": "str",
547
+ "required": false
548
+ }
549
+ ]
550
+ },
551
+ {
552
+ "command": "a2k",
553
+ "description": "Convert Avrotize schema to Kusto table schemas",
554
+ "group": "4_RTDB",
555
+ "function": {
556
+ "name": "avrotize.avrotokusto.convert_avro_to_kusto",
557
+ "args": {
558
+ "avro_schema_path": "input_file_path",
559
+ "kusto_file_path": "output_file_path",
560
+ "kusto_uri": "args.kusto_uri",
561
+ "kusto_database": "args.kusto_database",
562
+ "avro_record_type": "args.record_type",
563
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns",
564
+ "emit_cloudevents_dispatch_table": "args.emit_cloudevents_dispatch"
565
+ }
566
+ },
567
+ "extensions": [
568
+ ".avsc"
569
+ ],
570
+ "args": [
571
+ {
572
+ "name": "input",
573
+ "type": "str",
574
+ "nargs": "?",
575
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
576
+ "required": false
577
+ },
578
+ {
579
+ "name": "--out",
580
+ "type": "str",
581
+ "help": "Path to the Kusto table",
582
+ "required": false
583
+ },
584
+ {
585
+ "name": "--avsc",
586
+ "type": "str",
587
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
588
+ "required": false
589
+ },
590
+ {
591
+ "name": "--kusto-uri",
592
+ "type": "str",
593
+ "help": "Kusto Cluster URI to apply the generated schema to.",
594
+ "required": false
595
+ },
596
+ {
597
+ "name": "--kusto-database",
598
+ "type": "str",
599
+ "help": "Kusto database name to apply the generated schema to",
600
+ "required": false
601
+ },
602
+ {
603
+ "name": "--record-type",
604
+ "type": "str",
605
+ "help": "Record type in the Avrotize schema",
606
+ "required": false
607
+ },
608
+ {
609
+ "name": "--emit-cloudevents-columns",
610
+ "type": "bool",
611
+ "help": "Add CloudEvents columns to the Kusto table",
612
+ "default": false,
613
+ "required": false
614
+ },
615
+ {
616
+ "name": "--emit-cloudevents-dispatch",
617
+ "type": "bool",
618
+ "help": "Emit a _cloudevents_dispatch ingestion table and update policies for each generated table",
619
+ "required": false
620
+ }
621
+ ],
622
+ "suggested_output_file_path": "{input_file_name}.kql",
623
+ "prompts": [
624
+ {
625
+ "name": "--kusto-uri",
626
+ "message": "Enter the Kusto Cluster URI (optional)",
627
+ "type": "str",
628
+ "required": false
629
+ },
630
+ {
631
+ "name": "--kusto-database",
632
+ "message": "Enter the Kusto database name (optional)",
633
+ "type": "str",
634
+ "required": false
635
+ },
636
+ {
637
+ "name": "--emit-cloudevents-columns",
638
+ "message": "Add CloudEvents columns to the Kusto table?",
639
+ "type": "bool",
640
+ "default": false,
641
+ "required": false
642
+ },
643
+ {
644
+ "name": "--emit-cloudevents-dispatch",
645
+ "message": "Emit a _cloudevents_dispatch ingestion table and update policies?",
646
+ "type": "bool",
647
+ "default": false,
648
+ "required": false
649
+ }
650
+ ]
651
+ },
652
+ {
653
+ "command": "k2a",
654
+ "description": "Convert Kusto schema to Avrotize schema",
655
+ "group": "1_Schemas",
656
+ "function": {
657
+ "name": "avrotize.kustotoavro.convert_kusto_to_avro",
658
+ "args": {
659
+ "kusto_uri": "args.kusto_uri",
660
+ "kusto_database": "args.kusto_database",
661
+ "table_name": "args.table_name",
662
+ "avro_namespace": "args.namespace",
663
+ "avro_schema_file": "output_file_path",
664
+ "emit_cloudevents": "args.emit_cloudevents",
665
+ "emit_cloudevents_xregistry": "args.emit_xregistry"
666
+ }
667
+ },
668
+ "extensions": [
669
+ ".kusto"
670
+ ],
671
+ "args": [
672
+ {
673
+ "name": "input",
674
+ "type": "str",
675
+ "nargs": "?",
676
+ "help": "Kusto file",
677
+ "required": false
678
+ },
679
+ {
680
+ "name": "--out",
681
+ "type": "str",
682
+ "help": "Path to the Avrotize schema file",
683
+ "required": false
684
+ },
685
+ {
686
+ "name": "--kusto-uri",
687
+ "type": "str",
688
+ "help": "Kusto Cluster URI",
689
+ "required": false
690
+ },
691
+ {
692
+ "name": "--kusto-database",
693
+ "type": "str",
694
+ "help": "Kusto database",
695
+ "required": false
696
+ },
697
+ {
698
+ "name": "--table-name",
699
+ "type": "str",
700
+ "help": "Kusto table name",
701
+ "required": false
702
+ },
703
+ {
704
+ "name": "--namespace",
705
+ "type": "str",
706
+ "help": "Namespace for the Avrotize schema",
707
+ "required": false
708
+ },
709
+ {
710
+ "name": "--emit-cloudevents",
711
+ "type": "bool",
712
+ "help": "Emit CloudEvents declarations for each table",
713
+ "required": false
714
+ },
715
+ {
716
+ "name": "--emit-xregistry",
717
+ "type": "bool",
718
+ "help": "Emit an xRegistry manifest with CloudEvents declarations for each table instead of a single Avrotize schema",
719
+ "required": false
720
+ }
721
+ ],
722
+ "suggested_output_file_path": "{kusto_database}.avsc",
723
+ "prompts": [
724
+ {
725
+ "name": "--namespace",
726
+ "message": "Enter the namespace for the Avro schema",
727
+ "type": "str",
728
+ "required": false
729
+ },
730
+ {
731
+ "name": "--emit-cloudevents",
732
+ "message": "Emit CloudEvents declarations for each table?",
733
+ "type": "bool",
734
+ "default": false,
735
+ "required": false
736
+ },
737
+ {
738
+ "name": "--emit-xregistry",
739
+ "message": "Emit an xRegistry manifest with CloudEvents declarations?",
740
+ "type": "bool",
741
+ "default": false,
742
+ "required": false
743
+ }
744
+ ],
745
+ "skip_input_file_handling": true
746
+ },
747
+ {
748
+ "command": "a2sql",
749
+ "description": "Convert Avrotize schema to SQL schema",
750
+ "group": "5_SQL",
751
+ "function": {
752
+ "name": "avrotize.avrotodb.convert_avro_to_sql",
753
+ "args": {
754
+ "avro_schema_path": "input_file_path",
755
+ "dbscript_file_path": "output_file_path",
756
+ "db_dialect": "args.dialect",
757
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
758
+ }
759
+ },
760
+ "extensions": [
761
+ ".avsc"
762
+ ],
763
+ "args": [
764
+ {
765
+ "name": "input",
766
+ "type": "str",
767
+ "nargs": "?",
768
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
769
+ "required": false
770
+ },
771
+ {
772
+ "name": "--out",
773
+ "type": "str",
774
+ "help": "Path to the SQL table",
775
+ "required": false
776
+ },
777
+ {
778
+ "name": "--avsc",
779
+ "type": "str",
780
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
781
+ "required": false
782
+ },
783
+ {
784
+ "name": "--dialect",
785
+ "type": "str",
786
+ "help": "SQL dialect (database type)",
787
+ "choices": [
788
+ "mysql",
789
+ "mariadb",
790
+ "postgres",
791
+ "sqlserver",
792
+ "oracle",
793
+ "sqlite",
794
+ "bigquery",
795
+ "snowflake",
796
+ "redshift",
797
+ "db2"
798
+ ],
799
+ "required": true
800
+ },
801
+ {
802
+ "name": "--emit-cloudevents-columns",
803
+ "type": "bool",
804
+ "help": "Add CloudEvents columns to the SQL table",
805
+ "default": false,
806
+ "required": false
807
+ }
808
+ ],
809
+ "suggested_output_file_path": "{input_file_name}.sql",
810
+ "prompts": [
811
+ {
812
+ "name": "--dialect",
813
+ "message": "Select the SQL dialect",
814
+ "choices": [
815
+ "mysql",
816
+ "mariadb",
817
+ "postgres",
818
+ "sqlserver",
819
+ "oracle",
820
+ "sqlite",
821
+ "bigquery",
822
+ "snowflake",
823
+ "redshift",
824
+ "db2"
825
+ ],
826
+ "default": "mysql",
827
+ "required": true
828
+ },
829
+ {
830
+ "name": "--emit-cloudevents-columns",
831
+ "message": "Add CloudEvents columns to the SQL table?",
832
+ "type": "bool",
833
+ "default": false,
834
+ "required": false
835
+ }
836
+ ]
837
+ },
838
+ {
839
+ "command": "struct2sql",
840
+ "description": "Convert JSON Structure schema to SQL schema",
841
+ "group": "5_SQL",
842
+ "function": {
843
+ "name": "avrotize.structuretodb.convert_structure_to_sql",
844
+ "args": {
845
+ "structure_schema_path": "input_file_path",
846
+ "dbscript_file_path": "output_file_path",
847
+ "db_dialect": "args.dialect",
848
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
849
+ }
850
+ },
851
+ "extensions": [
852
+ ".jstruct",
853
+ ".struct.json"
854
+ ],
855
+ "args": [
856
+ {
857
+ "name": "input",
858
+ "type": "str",
859
+ "nargs": "?",
860
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
861
+ "required": false
862
+ },
863
+ {
864
+ "name": "--out",
865
+ "type": "str",
866
+ "help": "Path to the SQL table",
867
+ "required": false
868
+ },
869
+ {
870
+ "name": "--dialect",
871
+ "type": "str",
872
+ "help": "SQL dialect (database type)",
873
+ "choices": [
874
+ "mysql",
875
+ "mariadb",
876
+ "postgres",
877
+ "sqlserver",
878
+ "oracle",
879
+ "sqlite",
880
+ "bigquery",
881
+ "snowflake",
882
+ "redshift",
883
+ "db2"
884
+ ],
885
+ "required": true
886
+ },
887
+ {
888
+ "name": "--emit-cloudevents-columns",
889
+ "type": "bool",
890
+ "help": "Add CloudEvents columns to the SQL table",
891
+ "default": false,
892
+ "required": false
893
+ }
894
+ ],
895
+ "suggested_output_file_path": "{input_file_name}.sql",
896
+ "prompts": []
897
+ },
898
+ {
899
+ "command": "a2mongo",
900
+ "description": "Convert Avrotize schema to MongoDB schema",
901
+ "group": "6_NoSQL",
902
+ "function": {
903
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
904
+ "args": {
905
+ "avro_schema_path": "input_file_path",
906
+ "nosql_file_path": "output_file_path",
907
+ "nosql_dialect": "mongodb",
908
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
909
+ }
910
+ },
911
+ "extensions": [
912
+ ".avsc"
913
+ ],
914
+ "args": [
915
+ {
916
+ "name": "input",
917
+ "type": "str",
918
+ "nargs": "?",
919
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
920
+ "required": false
921
+ },
922
+ {
923
+ "name": "--out",
924
+ "type": "str",
925
+ "help": "Path to the MongoDB schemas",
926
+ "required": true
927
+ },
928
+ {
929
+ "name": "--emit-cloudevents-columns",
930
+ "type": "bool",
931
+ "help": "Add CloudEvents columns to the MongoDB schema",
932
+ "default": false,
933
+ "required": false
934
+ }
935
+ ],
936
+ "suggested_output_file_path": "{input_file_name}.json",
937
+ "prompts": [
938
+ {
939
+ "name": "--emit-cloudevents-columns",
940
+ "message": "Add CloudEvents columns to the MongoDB schema?",
941
+ "type": "bool",
942
+ "default": false
943
+ }
944
+ ]
945
+ },
946
+ {
947
+ "command": "a2pq",
948
+ "description": "Convert Avrotize schema to Parquet or Iceberg schema",
949
+ "group": "3_Datalake",
950
+ "function": {
951
+ "name": "avrotize.avrotoparquet.convert_avro_to_parquet",
952
+ "args": {
953
+ "avro_schema_path": "input_file_path",
954
+ "parquet_file_path": "output_file_path",
955
+ "avro_record_type": "args.record_type",
956
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
957
+ }
958
+ },
959
+ "extensions": [
960
+ ".avsc"
961
+ ],
962
+ "args": [
963
+ {
964
+ "name": "input",
965
+ "type": "str",
966
+ "nargs": "?",
967
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
968
+ "required": false
969
+ },
970
+ {
971
+ "name": "--out",
972
+ "type": "str",
973
+ "help": "Path to the Parquet file",
974
+ "required": false
975
+ },
976
+ {
977
+ "name": "--avsc",
978
+ "type": "str",
979
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
980
+ "required": false
981
+ },
982
+ {
983
+ "name": "--record-type",
984
+ "type": "str",
985
+ "help": "Record type in the Avrotize schema",
986
+ "required": false
987
+ },
988
+ {
989
+ "name": "--emit-cloudevents-columns",
990
+ "type": "bool",
991
+ "help": "Add CloudEvents columns to the Parquet file",
992
+ "default": false,
993
+ "required": false
994
+ }
995
+ ],
996
+ "suggested_output_file_path": "{input_file_name}.parquet",
997
+ "prompts": [
998
+ {
999
+ "name": "--emit-cloudevents-columns",
1000
+ "message": "Add CloudEvents columns to the Parquet file?",
1001
+ "type": "bool",
1002
+ "default": false
1003
+ }
1004
+ ]
1005
+ },
1006
+ {
1007
+ "command": "a2ib",
1008
+ "description": "Convert Avrotize schema to Iceberg schema",
1009
+ "group": "3_Datalake",
1010
+ "function": {
1011
+ "name": "avrotize.avrotoiceberg.convert_avro_to_iceberg",
1012
+ "args": {
1013
+ "avro_schema_path": "input_file_path",
1014
+ "output_path": "output_file_path",
1015
+ "avro_record_type": "args.record_type",
1016
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
1017
+ }
1018
+ },
1019
+ "extensions": [
1020
+ ".avsc"
1021
+ ],
1022
+ "args": [
1023
+ {
1024
+ "name": "input",
1025
+ "type": "str",
1026
+ "nargs": "?",
1027
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1028
+ "required": false
1029
+ },
1030
+ {
1031
+ "name": "--out",
1032
+ "type": "str",
1033
+ "help": "Path to the Iceberg schema",
1034
+ "required": false
1035
+ },
1036
+ {
1037
+ "name": "--record-type",
1038
+ "type": "str",
1039
+ "help": "Record type in the Avrotize schema",
1040
+ "required": false
1041
+ },
1042
+ {
1043
+ "name": "--emit-cloudevents-columns",
1044
+ "type": "bool",
1045
+ "help": "Add CloudEvents columns to the Iceberg schema",
1046
+ "default": false,
1047
+ "required": false
1048
+ }
1049
+ ],
1050
+ "suggested_output_file_path": "{input_file_name}.iceberg",
1051
+ "prompts": [
1052
+ {
1053
+ "name": "--emit-cloudevents-columns",
1054
+ "message": "Add CloudEvents columns to the Iceberg schema?",
1055
+ "type": "bool",
1056
+ "default": false
1057
+ }
1058
+ ]
1059
+ },
1060
+ {
1061
+ "command": "s2ib",
1062
+ "description": "Convert JSON Structure to Iceberg schema",
1063
+ "group": "3_Datalake",
1064
+ "function": {
1065
+ "name": "avrotize.structuretoiceberg.convert_structure_to_iceberg",
1066
+ "args": {
1067
+ "structure_schema_path": "input_file_path",
1068
+ "output_path": "output_file_path",
1069
+ "structure_record_type": "args.record_type",
1070
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
1071
+ }
1072
+ },
1073
+ "extensions": [
1074
+ ".struct.json",
1075
+ ".json"
1076
+ ],
1077
+ "args": [
1078
+ {
1079
+ "name": "input",
1080
+ "type": "str",
1081
+ "nargs": "?",
1082
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1083
+ "required": false
1084
+ },
1085
+ {
1086
+ "name": "--out",
1087
+ "type": "str",
1088
+ "help": "Path to the Iceberg schema",
1089
+ "required": false
1090
+ },
1091
+ {
1092
+ "name": "--record-type",
1093
+ "type": "str",
1094
+ "help": "Record type in the JSON Structure schema",
1095
+ "required": false
1096
+ },
1097
+ {
1098
+ "name": "--emit-cloudevents-columns",
1099
+ "type": "bool",
1100
+ "help": "Add CloudEvents columns to the Iceberg schema",
1101
+ "default": false,
1102
+ "required": false
1103
+ }
1104
+ ],
1105
+ "suggested_output_file_path": "{input_file_name}.iceberg",
1106
+ "prompts": [
1107
+ {
1108
+ "name": "--emit-cloudevents-columns",
1109
+ "message": "Add CloudEvents columns to the Iceberg schema?",
1110
+ "type": "bool",
1111
+ "default": false
1112
+ }
1113
+ ]
1114
+ },
1115
+ {
1116
+ "command": "pq2a",
1117
+ "description": "Convert Parquet schema to Avrotize schema",
1118
+ "group": "1_Schemas",
1119
+ "function": {
1120
+ "name": "avrotize.parquettoavro.convert_parquet_to_avro",
1121
+ "args": {
1122
+ "parquet_file_path": "input_file_path",
1123
+ "avro_file_path": "output_file_path",
1124
+ "namespace": "args.namespace"
1125
+ }
1126
+ },
1127
+ "extensions": [
1128
+ ".parquet"
1129
+ ],
1130
+ "args": [
1131
+ {
1132
+ "name": "input",
1133
+ "type": "str",
1134
+ "nargs": "?",
1135
+ "help": "Path to the Parquet file (or read from stdin if omitted)",
1136
+ "required": false
1137
+ },
1138
+ {
1139
+ "name": "--out",
1140
+ "type": "str",
1141
+ "help": "Path to the Avrotize schema file",
1142
+ "required": false
1143
+ },
1144
+ {
1145
+ "name": "--parquet",
1146
+ "type": "str",
1147
+ "help": "Deprecated: Path to the Parquet file (for backcompat)",
1148
+ "required": false
1149
+ },
1150
+ {
1151
+ "name": "--namespace",
1152
+ "type": "str",
1153
+ "help": "Namespace for the Avrotize schema",
1154
+ "required": false
1155
+ }
1156
+ ],
1157
+ "suggested_output_file_path": "{input_file_name}.avsc",
1158
+ "prompts": [
1159
+ {
1160
+ "name": "--namespace",
1161
+ "message": "Enter the namespace for the Avro schema",
1162
+ "type": "str",
1163
+ "required": false
1164
+ }
1165
+ ]
1166
+ },
1167
+ {
1168
+ "command": "asn2a",
1169
+ "description": "Convert ASN.1 schema to Avrotize schema",
1170
+ "group": "1_Schemas",
1171
+ "function": {
1172
+ "name": "avrotize.asn1toavro.convert_asn1_to_avro",
1173
+ "args": {
1174
+ "asn1_spec_list": "input_file_path",
1175
+ "avro_file_path": "output_file_path"
1176
+ }
1177
+ },
1178
+ "extensions": [
1179
+ ".asn1"
1180
+ ],
1181
+ "args": [
1182
+ {
1183
+ "name": "input",
1184
+ "type": "str",
1185
+ "nargs": "?",
1186
+ "help": "Path(s) to the ASN.1 schema file(s) (or read from stdin if omitted)",
1187
+ "required": false
1188
+ },
1189
+ {
1190
+ "name": "--out",
1191
+ "type": "str",
1192
+ "help": "Path to the Avrotize schema file",
1193
+ "required": false
1194
+ },
1195
+ {
1196
+ "name": "--asn",
1197
+ "type": "str",
1198
+ "nargs": "+",
1199
+ "help": "Deprecated: Path(s) to the ASN.1 schema file(s) (for backcompat)",
1200
+ "required": false
1201
+ }
1202
+ ],
1203
+ "suggested_output_file_path": "{input_file_name}.avsc",
1204
+ "prompts": []
1205
+ },
1206
+ {
1207
+ "command": "kstruct2a",
1208
+ "description": "Convert Kafka Struct to Avrotize schema",
1209
+ "group": "1_Schemas",
1210
+ "function": {
1211
+ "name": "avrotize.kstructtoavro.convert_kafka_struct_to_avro_schema",
1212
+ "args": {
1213
+ "kafka_schema_file_path": "input_file_path",
1214
+ "avro_file_path": "output_file_path"
1215
+ }
1216
+ },
1217
+ "extensions": [
1218
+ ".kstruct"
1219
+ ],
1220
+ "args": [
1221
+ {
1222
+ "name": "input",
1223
+ "type": "str",
1224
+ "nargs": "?",
1225
+ "help": "Path to the Kafka Struct file (or read from stdin if omitted)",
1226
+ "required": false
1227
+ },
1228
+ {
1229
+ "name": "--out",
1230
+ "type": "str",
1231
+ "help": "Path to the Avrotize schema file",
1232
+ "required": false
1233
+ },
1234
+ {
1235
+ "name": "--kstruct",
1236
+ "type": "str",
1237
+ "help": "Deprecated: Path to the Kafka Struct file (for backcompat)",
1238
+ "required": false
1239
+ }
1240
+ ],
1241
+ "suggested_output_file_path": "{input_file_name}.avsc",
1242
+ "prompts": []
1243
+ },
1244
+ {
1245
+ "command": "a2cs",
1246
+ "description": "Convert Avrotize schema to C# classes",
1247
+ "group": "2_ProgLanguages",
1248
+ "function": {
1249
+ "name": "avrotize.avrotocsharp.convert_avro_to_csharp",
1250
+ "args": {
1251
+ "avro_schema_path": "input_file_path",
1252
+ "cs_file_path": "output_file_path",
1253
+ "avro_annotation": "args.avro_annotation",
1254
+ "protobuf_net_annotation": "args.protobuf_net_annotation",
1255
+ "system_text_json_annotation": "args.system_text_json_annotation",
1256
+ "newtonsoft_json_annotation": "args.newtonsoft_json_annotation",
1257
+ "system_xml_annotation": "args.system_xml_annotation",
1258
+ "pascal_properties": "args.pascal_properties",
1259
+ "base_namespace": "args.namespace"
1260
+ }
1261
+ },
1262
+ "extensions": [
1263
+ ".avsc"
1264
+ ],
1265
+ "args": [
1266
+ {
1267
+ "name": "input",
1268
+ "type": "str",
1269
+ "nargs": "?",
1270
+ "help": "Path to the Kafka Struct file (or read from stdin if omitted)",
1271
+ "required": false
1272
+ },
1273
+ {
1274
+ "name": "--out",
1275
+ "type": "str",
1276
+ "help": "Path to the Avrotize schema file",
1277
+ "required": false
1278
+ },
1279
+ {
1280
+ "name": "--avsc",
1281
+ "type": "str",
1282
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1283
+ "required": false
1284
+ },
1285
+ {
1286
+ "name": "--namespace",
1287
+ "type": "str",
1288
+ "help": "C# project name",
1289
+ "required": false
1290
+ },
1291
+ {
1292
+ "name": "--avro-annotation",
1293
+ "type": "bool",
1294
+ "help": "Use Avro annotations",
1295
+ "default": false,
1296
+ "required": false
1297
+ },
1298
+ {
1299
+ "name": "--protobuf-net-annotation",
1300
+ "type": "bool",
1301
+ "help": "Use protobuf-net annotations",
1302
+ "default": false,
1303
+ "required": false
1304
+ },
1305
+ {
1306
+ "name": "--system_text_json_annotation",
1307
+ "type": "bool",
1308
+ "help": "Use System.Text.Json annotations",
1309
+ "default": false,
1310
+ "required": false
1311
+ },
1312
+ {
1313
+ "name": "--system-xml-annotation",
1314
+ "type": "bool",
1315
+ "help": "Use System.Xml annotations",
1316
+ "default": false,
1317
+ "required": false
1318
+ },
1319
+ {
1320
+ "name": "--newtonsoft-json-annotation",
1321
+ "type": "bool",
1322
+ "help": "Use Newtonsoft.Json annotations",
1323
+ "default": false,
1324
+ "required": false
1325
+ },
1326
+ {
1327
+ "name": "--pascal-properties",
1328
+ "type": "bool",
1329
+ "help": "Use PascalCase properties",
1330
+ "default": false,
1331
+ "required": false
1332
+ }
1333
+ ],
1334
+ "suggested_output_file_path": "{input_file_name}-cs",
1335
+ "prompts": [
1336
+ {
1337
+ "name": "--namespace",
1338
+ "message": "Enter the C# root namespace for the project",
1339
+ "type": "str",
1340
+ "default": "{input_file_name}-cs",
1341
+ "required": false
1342
+ },
1343
+ {
1344
+ "name": "--avro-annotation",
1345
+ "message": "Use Avro annotations?",
1346
+ "type": "bool",
1347
+ "default": false,
1348
+ "required": false
1349
+ },
1350
+ {
1351
+ "name": "--system_text_json_annotation",
1352
+ "message": "Use System.Text.Json annotations?",
1353
+ "type": "bool",
1354
+ "default": false,
1355
+ "required": false
1356
+ },
1357
+ {
1358
+ "name": "--pascal-properties",
1359
+ "message": "Use PascalCase properties?",
1360
+ "type": "bool",
1361
+ "default": false,
1362
+ "required": false
1363
+ }
1364
+ ]
1365
+ },
1366
+ {
1367
+ "command": "s2cs",
1368
+ "description": "Convert JSON Structure to C# classes",
1369
+ "group": "2_ProgLanguages",
1370
+ "function": {
1371
+ "name": "avrotize.structuretocsharp.convert_structure_to_csharp",
1372
+ "args": {
1373
+ "structure_schema_path": "input_file_path",
1374
+ "cs_file_path": "output_file_path",
1375
+ "system_text_json_annotation": "args.system_text_json_annotation",
1376
+ "newtonsoft_json_annotation": "args.newtonsoft_json_annotation",
1377
+ "system_xml_annotation": "args.system_xml_annotation",
1378
+ "pascal_properties": "args.pascal_properties",
1379
+ "base_namespace": "args.namespace",
1380
+ "project_name": "args.project_name"
1381
+ }
1382
+ },
1383
+ "extensions": [
1384
+ ".struct.json",
1385
+ ".json"
1386
+ ],
1387
+ "args": [
1388
+ {
1389
+ "name": "input",
1390
+ "type": "str",
1391
+ "nargs": "?",
1392
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
1393
+ "required": false
1394
+ },
1395
+ {
1396
+ "name": "--out",
1397
+ "type": "str",
1398
+ "help": "Output path for the C# classes",
1399
+ "required": false
1400
+ },
1401
+ {
1402
+ "name": "--struct",
1403
+ "type": "str",
1404
+ "help": "Deprecated: Path to the JSON Structure file (for backcompat)",
1405
+ "required": false
1406
+ },
1407
+ {
1408
+ "name": "--namespace",
1409
+ "type": "str",
1410
+ "help": "C# root namespace",
1411
+ "required": false
1412
+ },
1413
+ {
1414
+ "name": "--project-name",
1415
+ "type": "str",
1416
+ "help": "C# project name",
1417
+ "required": false
1418
+ },
1419
+ {
1420
+ "name": "--system_text_json_annotation",
1421
+ "type": "bool",
1422
+ "help": "Use System.Text.Json annotations",
1423
+ "default": false,
1424
+ "required": false
1425
+ },
1426
+ {
1427
+ "name": "--system-xml-annotation",
1428
+ "type": "bool",
1429
+ "help": "Use System.Xml annotations",
1430
+ "default": false,
1431
+ "required": false
1432
+ },
1433
+ {
1434
+ "name": "--newtonsoft-json-annotation",
1435
+ "type": "bool",
1436
+ "help": "Use Newtonsoft.Json annotations",
1437
+ "default": false,
1438
+ "required": false
1439
+ },
1440
+ {
1441
+ "name": "--pascal-properties",
1442
+ "type": "bool",
1443
+ "help": "Use PascalCase properties",
1444
+ "default": false,
1445
+ "required": false
1446
+ }
1447
+ ],
1448
+ "suggested_output_file_path": "{input_file_name}-cs",
1449
+ "prompts": [
1450
+ {
1451
+ "name": "--namespace",
1452
+ "message": "Enter the C# root namespace for the project",
1453
+ "type": "str",
1454
+ "default": "{input_file_name}",
1455
+ "required": false
1456
+ },
1457
+ {
1458
+ "name": "--project-name",
1459
+ "message": "Enter the C# project name",
1460
+ "type": "str",
1461
+ "default": "{input_file_name}",
1462
+ "required": false
1463
+ },
1464
+ {
1465
+ "name": "--system_text_json_annotation",
1466
+ "message": "Use System.Text.Json annotations?",
1467
+ "type": "bool",
1468
+ "default": false,
1469
+ "required": false
1470
+ },
1471
+ {
1472
+ "name": "--pascal-properties",
1473
+ "message": "Use PascalCase properties?",
1474
+ "type": "bool",
1475
+ "default": false,
1476
+ "required": false
1477
+ }
1478
+ ]
1479
+ },
1480
+ {
1481
+ "command": "a2java",
1482
+ "description": "Convert Avrotize schema to Java classes",
1483
+ "group": "2_ProgLanguages",
1484
+ "function": {
1485
+ "name": "avrotize.avrotojava.convert_avro_to_java",
1486
+ "args": {
1487
+ "avro_schema_path": "input_file_path",
1488
+ "java_file_path": "output_file_path",
1489
+ "package_name": "args.package",
1490
+ "avro_annotation": "args.avro_annotation",
1491
+ "jackson_annotation": "args.jackson_annotation",
1492
+ "pascal_properties": "args.pascal_properties"
1493
+ }
1494
+ },
1495
+ "extensions": [
1496
+ ".avsc"
1497
+ ],
1498
+ "args": [
1499
+ {
1500
+ "name": "input",
1501
+ "type": "str",
1502
+ "nargs": "?",
1503
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1504
+ "required": false
1505
+ },
1506
+ {
1507
+ "name": "--out",
1508
+ "type": "str",
1509
+ "help": "Output path for the Java classes",
1510
+ "required": true
1511
+ },
1512
+ {
1513
+ "name": "--avsc",
1514
+ "type": "str",
1515
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1516
+ "required": false
1517
+ },
1518
+ {
1519
+ "name": "--package",
1520
+ "type": "str",
1521
+ "help": "Java package name",
1522
+ "required": false
1523
+ },
1524
+ {
1525
+ "name": "--avro-annotation",
1526
+ "type": "bool",
1527
+ "help": "Use Avro annotations",
1528
+ "default": false,
1529
+ "required": false
1530
+ },
1531
+ {
1532
+ "name": "--jackson-annotation",
1533
+ "type": "bool",
1534
+ "help": "Use Jackson annotations",
1535
+ "default": false,
1536
+ "required": false
1537
+ },
1538
+ {
1539
+ "name": "--pascal-properties",
1540
+ "type": "bool",
1541
+ "help": "Use PascalCase properties",
1542
+ "default": false,
1543
+ "required": false
1544
+ }
1545
+ ],
1546
+ "suggested_output_file_path": "{input_file_name}-java",
1547
+ "prompts": [
1548
+ {
1549
+ "name": "--avro-annotation",
1550
+ "message": "Use Avro annotations?",
1551
+ "type": "bool",
1552
+ "default": false
1553
+ },
1554
+ {
1555
+ "name": "--jackson-annotation",
1556
+ "message": "Use Jackson annotations?",
1557
+ "type": "bool",
1558
+ "default": false
1559
+ },
1560
+ {
1561
+ "name": "--pascal-properties",
1562
+ "message": "Use PascalCase properties?",
1563
+ "type": "bool",
1564
+ "default": false
1565
+ }
1566
+ ]
1567
+ },
1568
+ {
1569
+ "command": "a2py",
1570
+ "description": "Convert Avrotize schema to Python classes",
1571
+ "group": "2_ProgLanguages",
1572
+ "function": {
1573
+ "name": "avrotize.avrotopython.convert_avro_to_python",
1574
+ "args": {
1575
+ "avro_schema_path": "input_file_path",
1576
+ "py_file_path": "output_file_path",
1577
+ "package_name": "args.package",
1578
+ "dataclasses_json_annotation": "args.dataclasses_json_annotation",
1579
+ "avro_annotation": "args.avro_annotation"
1580
+ }
1581
+ },
1582
+ "extensions": [
1583
+ ".avsc"
1584
+ ],
1585
+ "args": [
1586
+ {
1587
+ "name": "input",
1588
+ "type": "str",
1589
+ "nargs": "?",
1590
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
1591
+ "required": false
1592
+ },
1593
+ {
1594
+ "name": "--out",
1595
+ "type": "str",
1596
+ "help": "Output path for the Python classes",
1597
+ "required": true
1598
+ },
1599
+ {
1600
+ "name": "--avsc",
1601
+ "type": "str",
1602
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
1603
+ "required": false
1604
+ },
1605
+ {
1606
+ "name": "--package",
1607
+ "type": "str",
1608
+ "help": "Python package name",
1609
+ "required": false
1610
+ },
1611
+ {
1612
+ "name": "--dataclasses-json-annotation",
1613
+ "type": "bool",
1614
+ "help": "Use dataclasses-json annotations",
1615
+ "default": false,
1616
+ "required": false
1617
+ },
1618
+ {
1619
+ "name": "--avro-annotation",
1620
+ "type": "bool",
1621
+ "help": "Use Avro annotations",
1622
+ "default": false,
1623
+ "required": false
1624
+ }
1625
+ ],
1626
+ "suggested_output_file_path": "{input_file_name}-py",
1627
+ "prompts": [
1628
+ {
1629
+ "name": "--dataclasses-json-annotation",
1630
+ "message": "Use dataclasses-json annotations?",
1631
+ "type": "bool",
1632
+ "default": false
1633
+ },
1634
+ {
1635
+ "name": "--avro-annotation",
1636
+ "message": "Use apache_avro annotations?",
1637
+ "type": "bool",
1638
+ "default": false
1639
+ }
1640
+ ]
1641
+ },
1642
+ {
1643
+ "command": "s2py",
1644
+ "description": "Convert JSON Structure to Python classes",
1645
+ "group": "2_ProgLanguages",
1646
+ "function": {
1647
+ "name": "avrotize.structuretopython.convert_structure_to_python",
1648
+ "args": {
1649
+ "structure_schema_path": "input_file_path",
1650
+ "py_file_path": "output_file_path",
1651
+ "package_name": "args.package",
1652
+ "dataclasses_json_annotation": "args.dataclasses_json_annotation",
1653
+ "avro_annotation": "args.avro_annotation"
1654
+ }
1655
+ },
1656
+ "extensions": [
1657
+ ".struct.json",
1658
+ ".json"
1659
+ ],
1660
+ "args": [
1661
+ {
1662
+ "name": "input",
1663
+ "type": "str",
1664
+ "nargs": "?",
1665
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1666
+ "required": false
1667
+ },
1668
+ {
1669
+ "name": "--out",
1670
+ "type": "str",
1671
+ "help": "Output path for the Python classes",
1672
+ "required": true
1673
+ },
1674
+ {
1675
+ "name": "--package",
1676
+ "type": "str",
1677
+ "help": "Python package name",
1678
+ "required": false
1679
+ },
1680
+ {
1681
+ "name": "--dataclasses-json-annotation",
1682
+ "type": "bool",
1683
+ "help": "Use dataclasses-json annotations",
1684
+ "default": false,
1685
+ "required": false
1686
+ },
1687
+ {
1688
+ "name": "--avro-annotation",
1689
+ "type": "bool",
1690
+ "help": "Add Avro binary serialization support with embedded Structure schema",
1691
+ "default": false,
1692
+ "required": false
1693
+ }
1694
+ ],
1695
+ "suggested_output_file_path": "{input_file_name}-py",
1696
+ "prompts": [
1697
+ {
1698
+ "name": "--dataclasses-json-annotation",
1699
+ "message": "Use dataclasses-json annotations?",
1700
+ "type": "bool",
1701
+ "default": false
1702
+ }
1703
+ ]
1704
+ },
1705
+ {
1706
+ "command": "s2cpp",
1707
+ "description": "Convert JSON Structure to C++ classes",
1708
+ "group": "2_ProgLanguages",
1709
+ "function": {
1710
+ "name": "avrotize.structuretocpp.convert_structure_to_cpp",
1711
+ "args": {
1712
+ "structure_schema_path": "input_file_path",
1713
+ "output_dir": "output_file_path",
1714
+ "namespace": "args.namespace",
1715
+ "json_annotation": "args.json_annotation"
1716
+ }
1717
+ },
1718
+ "extensions": [
1719
+ ".struct.json",
1720
+ ".json"
1721
+ ],
1722
+ "args": [
1723
+ {
1724
+ "name": "input",
1725
+ "type": "str",
1726
+ "nargs": "?",
1727
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1728
+ "required": false
1729
+ },
1730
+ {
1731
+ "name": "--out",
1732
+ "type": "str",
1733
+ "help": "Output path for the C++ classes",
1734
+ "required": true
1735
+ },
1736
+ {
1737
+ "name": "--namespace",
1738
+ "type": "str",
1739
+ "help": "C++ root namespace",
1740
+ "required": false
1741
+ },
1742
+ {
1743
+ "name": "--json-annotation",
1744
+ "type": "bool",
1745
+ "help": "Include JSON serialization support",
1746
+ "default": true,
1747
+ "required": false
1748
+ }
1749
+ ],
1750
+ "suggested_output_file_path": "{input_file_name}-cpp",
1751
+ "prompts": [
1752
+ {
1753
+ "name": "--json-annotation",
1754
+ "message": "Include JSON serialization support?",
1755
+ "type": "bool",
1756
+ "default": true
1757
+ }
1758
+ ]
1759
+ },
1760
+ {
1761
+ "command": "s2csv",
1762
+ "description": "Convert JSON Structure to CSV schema",
1763
+ "group": "1_Schemas",
1764
+ "function": {
1765
+ "name": "avrotize.structuretocsv.convert_structure_to_csv_schema",
1766
+ "args": {
1767
+ "structure_schema_path": "input_file_path",
1768
+ "csv_schema_path": "output_file_path"
1769
+ }
1770
+ },
1771
+ "extensions": [
1772
+ ".struct.json",
1773
+ ".json"
1774
+ ],
1775
+ "args": [
1776
+ {
1777
+ "name": "input",
1778
+ "type": "str",
1779
+ "nargs": "?",
1780
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1781
+ "required": false
1782
+ },
1783
+ {
1784
+ "name": "--out",
1785
+ "type": "str",
1786
+ "help": "Output path for the CSV schema file",
1787
+ "required": false
1788
+ }
1789
+ ],
1790
+ "suggested_output_file_path": "{input_file_name}.csv.json",
1791
+ "prompts": []
1792
+ },
1793
+ {
1794
+ "command": "s2rust",
1795
+ "description": "Convert JSON Structure to Rust classes",
1796
+ "group": "2_ProgLanguages",
1797
+ "function": {
1798
+ "name": "avrotize.structuretorust.convert_structure_to_rust",
1799
+ "args": {
1800
+ "structure_schema_path": "input_file_path",
1801
+ "rust_file_path": "output_file_path",
1802
+ "package_name": "args.package",
1803
+ "serde_annotation": "args.json_annotation"
1804
+ }
1805
+ },
1806
+ "extensions": [
1807
+ ".struct.json",
1808
+ ".json"
1809
+ ],
1810
+ "args": [
1811
+ {
1812
+ "name": "input",
1813
+ "type": "str",
1814
+ "nargs": "?",
1815
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1816
+ "required": false
1817
+ },
1818
+ {
1819
+ "name": "--out",
1820
+ "type": "str",
1821
+ "help": "Output path for the Rust classes",
1822
+ "required": true
1823
+ },
1824
+ {
1825
+ "name": "--package",
1826
+ "type": "str",
1827
+ "help": "Rust package name",
1828
+ "required": false
1829
+ },
1830
+ {
1831
+ "name": "--json-annotation",
1832
+ "type": "bool",
1833
+ "help": "Use Serde JSON annotations",
1834
+ "default": false,
1835
+ "required": false
1836
+ }
1837
+ ],
1838
+ "suggested_output_file_path": "{input_file_name}-rust",
1839
+ "prompts": [
1840
+ {
1841
+ "name": "--package",
1842
+ "message": "Enter the Rust package name (optional)",
1843
+ "type": "str",
1844
+ "required": false
1845
+ },
1846
+ {
1847
+ "name": "--json-annotation",
1848
+ "message": "Use Serde JSON annotations?",
1849
+ "type": "bool",
1850
+ "default": false
1851
+ }
1852
+ ]
1853
+ },
1854
+ {
1855
+ "command": "s2ts",
1856
+ "description": "Convert JSON Structure to TypeScript classes",
1857
+ "group": "2_ProgLanguages",
1858
+ "function": {
1859
+ "name": "avrotize.structuretots.convert_structure_to_typescript",
1860
+ "args": {
1861
+ "structure_schema_path": "input_file_path",
1862
+ "ts_file_path": "output_file_path",
1863
+ "package_name": "args.package",
1864
+ "typedjson_annotation": "args.typedjson_annotation",
1865
+ "avro_annotation": "args.avro_annotation"
1866
+ }
1867
+ },
1868
+ "extensions": [
1869
+ ".struct.json",
1870
+ ".json"
1871
+ ],
1872
+ "args": [
1873
+ {
1874
+ "name": "input",
1875
+ "type": "str",
1876
+ "nargs": "?",
1877
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1878
+ "required": false
1879
+ },
1880
+ {
1881
+ "name": "--out",
1882
+ "type": "str",
1883
+ "help": "Output path for the TypeScript classes",
1884
+ "required": true
1885
+ },
1886
+ {
1887
+ "name": "--package",
1888
+ "type": "str",
1889
+ "help": "TypeScript package name",
1890
+ "required": false
1891
+ },
1892
+ {
1893
+ "name": "--typedjson-annotation",
1894
+ "type": "bool",
1895
+ "help": "Use TypedJSON annotations",
1896
+ "default": false,
1897
+ "required": false
1898
+ },
1899
+ {
1900
+ "name": "--avro-annotation",
1901
+ "type": "bool",
1902
+ "help": "Add Avro binary serialization support with embedded Structure schema",
1903
+ "default": false,
1904
+ "required": false
1905
+ }
1906
+ ],
1907
+ "suggested_output_file_path": "{input_file_name}-ts",
1908
+ "prompts": [
1909
+ {
1910
+ "name": "--typedjson-annotation",
1911
+ "message": "Use TypedJSON annotations?",
1912
+ "type": "bool",
1913
+ "default": false
1914
+ }
1915
+ ]
1916
+ },
1917
+ {
1918
+ "command": "s2java",
1919
+ "description": "Convert JSON Structure to Java classes",
1920
+ "group": "2_ProgLanguages",
1921
+ "function": {
1922
+ "name": "avrotize.structuretojava.convert_structure_to_java",
1923
+ "args": {
1924
+ "structure_schema_path": "input_file_path",
1925
+ "java_file_path": "output_file_path",
1926
+ "package_name": "args.package",
1927
+ "pascal_properties": "args.pascal_properties",
1928
+ "jackson_annotation": "args.jackson_annotation"
1929
+ }
1930
+ },
1931
+ "extensions": [
1932
+ ".struct.json",
1933
+ ".json"
1934
+ ],
1935
+ "args": [
1936
+ {
1937
+ "name": "input",
1938
+ "type": "str",
1939
+ "nargs": "?",
1940
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
1941
+ "required": false
1942
+ },
1943
+ {
1944
+ "name": "--out",
1945
+ "type": "str",
1946
+ "help": "Output path for the Java classes",
1947
+ "required": true
1948
+ },
1949
+ {
1950
+ "name": "--package",
1951
+ "type": "str",
1952
+ "help": "Java package name",
1953
+ "required": false
1954
+ },
1955
+ {
1956
+ "name": "--jackson-annotation",
1957
+ "type": "bool",
1958
+ "help": "Use Jackson annotations for JSON serialization",
1959
+ "default": true,
1960
+ "required": false
1961
+ },
1962
+ {
1963
+ "name": "--pascal-properties",
1964
+ "type": "bool",
1965
+ "help": "Use PascalCase for property names",
1966
+ "default": false,
1967
+ "required": false
1968
+ }
1969
+ ],
1970
+ "suggested_output_file_path": "{input_file_name}-java",
1971
+ "prompts": [
1972
+ {
1973
+ "name": "--package",
1974
+ "message": "Enter the Java package name",
1975
+ "type": "str",
1976
+ "default": "{input_file_name}",
1977
+ "required": false
1978
+ },
1979
+ {
1980
+ "name": "--jackson-annotation",
1981
+ "message": "Use Jackson annotations?",
1982
+ "type": "bool",
1983
+ "default": true
1984
+ }
1985
+ ]
1986
+ },
1987
+ {
1988
+ "command": "s2js",
1989
+ "description": "Convert JSON Structure to JavaScript classes",
1990
+ "group": "2_ProgLanguages",
1991
+ "function": {
1992
+ "name": "avrotize.structuretojs.convert_structure_to_javascript",
1993
+ "args": {
1994
+ "structure_schema_path": "input_file_path",
1995
+ "js_file_path": "output_file_path",
1996
+ "package_name": "args.package",
1997
+ "avro_annotation": "args.avro_annotation"
1998
+ }
1999
+ },
2000
+ "extensions": [".struct.json", ".json"],
2001
+ "args": [
2002
+ {
2003
+ "name": "input",
2004
+ "type": "str",
2005
+ "nargs": "?",
2006
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
2007
+ "required": false
2008
+ },
2009
+ {
2010
+ "name": "--out",
2011
+ "type": "str",
2012
+ "help": "Output path for the JavaScript classes",
2013
+ "required": true
2014
+ },
2015
+ {
2016
+ "name": "--package",
2017
+ "type": "str",
2018
+ "help": "JavaScript package name",
2019
+ "required": false
2020
+ },
2021
+ {
2022
+ "name": "--avro-annotation",
2023
+ "type": "bool",
2024
+ "help": "Add Avro binary serialization support",
2025
+ "default": false,
2026
+ "required": false
2027
+ }
2028
+ ],
2029
+ "suggested_output_file_path": "{input_file_name}-js",
2030
+ "prompts": []
2031
+ },
2032
+ {
2033
+ "command": "s2go",
2034
+ "description": "Convert JSON Structure to Go structs",
2035
+ "group": "2_ProgLanguages",
2036
+ "function": {
2037
+ "name": "avrotize.structuretogo.convert_structure_to_go",
2038
+ "args": {
2039
+ "structure_schema_path": "input_file_path",
2040
+ "go_file_path": "output_file_path",
2041
+ "package_name": "args.package",
2042
+ "json_annotation": "args.json_annotation",
2043
+ "avro_annotation": "args.avro_annotation",
2044
+ "package_site": "args.package_site",
2045
+ "package_username": "args.package_username"
2046
+ }
2047
+ },
2048
+ "extensions": [
2049
+ ".struct.json",
2050
+ ".json"
2051
+ ],
2052
+ "args": [
2053
+ {
2054
+ "name": "input",
2055
+ "type": "str",
2056
+ "nargs": "?",
2057
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
2058
+ "required": false
2059
+ },
2060
+ {
2061
+ "name": "--out",
2062
+ "type": "str",
2063
+ "help": "Output path for the Go structs",
2064
+ "required": true
2065
+ },
2066
+ {
2067
+ "name": "--package",
2068
+ "type": "str",
2069
+ "help": "Go package name",
2070
+ "required": false
2071
+ },
2072
+ {
2073
+ "name": "--json-annotation",
2074
+ "type": "bool",
2075
+ "help": "Add JSON struct tags for encoding/json",
2076
+ "default": false,
2077
+ "required": false
2078
+ },
2079
+ {
2080
+ "name": "--avro-annotation",
2081
+ "type": "bool",
2082
+ "help": "Add Avro struct tags",
2083
+ "default": false,
2084
+ "required": false
2085
+ },
2086
+ {
2087
+ "name": "--package-site",
2088
+ "type": "str",
2089
+ "help": "Package site for Go module (e.g., github.com)",
2090
+ "default": "github.com",
2091
+ "required": false
2092
+ },
2093
+ {
2094
+ "name": "--package-username",
2095
+ "type": "str",
2096
+ "help": "Username/organization for Go module",
2097
+ "default": "username",
2098
+ "required": false
2099
+ }
2100
+ ],
2101
+ "suggested_output_file_path": "{input_file_name}-go",
2102
+ "prompts": [
2103
+ {
2104
+ "name": "--package",
2105
+ "message": "Enter the Go package name",
2106
+ "type": "str",
2107
+ "default": "{input_file_name}",
2108
+ "required": false
2109
+ },
2110
+ {
2111
+ "name": "--json-annotation",
2112
+ "message": "Add JSON struct tags?",
2113
+ "type": "bool",
2114
+ "default": false
2115
+ }
2116
+ ]
2117
+ },
2118
+ {
2119
+ "command": "struct2gql",
2120
+ "description": "Convert JSON Structure schema to GraphQL schema",
2121
+ "group": "1_Schemas",
2122
+ "function": {
2123
+ "name": "avrotize.structuretographql.convert_structure_to_graphql",
2124
+ "args": {
2125
+ "structure_schema_path": "input_file_path",
2126
+ "graphql_schema_path": "output_file_path"
2127
+ }
2128
+ },
2129
+ "extensions": [
2130
+ ".struct.json",
2131
+ ".json"
2132
+ ],
2133
+ "args": [
2134
+ {
2135
+ "name": "input",
2136
+ "type": "str",
2137
+ "nargs": "?",
2138
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
2139
+ "required": false
2140
+ },
2141
+ {
2142
+ "name": "--out",
2143
+ "type": "str",
2144
+ "help": "Path to the GraphQL schema file",
2145
+ "required": false
2146
+ }
2147
+ ],
2148
+ "suggested_output_file_path": "{input_file_name}.graphql",
2149
+ "prompts": []
2150
+ },
2151
+ {
2152
+ "command": "a2ts",
2153
+ "description": "Convert Avrotize schema to TypeScript classes",
2154
+ "group": "2_ProgLanguages",
2155
+ "function": {
2156
+ "name": "avrotize.avrotots.convert_avro_to_typescript",
2157
+ "args": {
2158
+ "avro_schema_path": "input_file_path",
2159
+ "js_dir_path": "output_file_path",
2160
+ "package_name": "args.package",
2161
+ "avro_annotation": "args.avro_annotation",
2162
+ "typedjson_annotation": "args.typedjson_annotation"
2163
+ }
2164
+ },
2165
+ "extensions": [
2166
+ ".avsc"
2167
+ ],
2168
+ "args": [
2169
+ {
2170
+ "name": "input",
2171
+ "type": "str",
2172
+ "nargs": "?",
2173
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2174
+ "required": false
2175
+ },
2176
+ {
2177
+ "name": "--out",
2178
+ "type": "str",
2179
+ "help": "Output path for the TypeScript classes",
2180
+ "required": true
2181
+ },
2182
+ {
2183
+ "name": "--avsc",
2184
+ "type": "str",
2185
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
2186
+ "required": false
2187
+ },
2188
+ {
2189
+ "name": "--package",
2190
+ "type": "str",
2191
+ "help": "TypeScript package name",
2192
+ "required": false
2193
+ },
2194
+ {
2195
+ "name": "--avro-annotation",
2196
+ "type": "bool",
2197
+ "help": "Use Avro annotations",
2198
+ "default": false,
2199
+ "required": false
2200
+ },
2201
+ {
2202
+ "name": "--typedjson-annotation",
2203
+ "type": "bool",
2204
+ "help": "Use TypedJSON annotations",
2205
+ "default": false,
2206
+ "required": false
2207
+ }
2208
+ ],
2209
+ "suggested_output_file_path": "{input_file_name}-ts",
2210
+ "prompts": [
2211
+ {
2212
+ "name": "--avro-annotation",
2213
+ "message": "Use Avro annotations?",
2214
+ "type": "bool",
2215
+ "default": false
2216
+ },
2217
+ {
2218
+ "name": "--typedjson-annotation",
2219
+ "message": "Use TypedJSON annotations?",
2220
+ "type": "bool",
2221
+ "default": false
2222
+ }
2223
+ ]
2224
+ },
2225
+ {
2226
+ "command": "a2js",
2227
+ "description": "Convert Avrotize schema to JavaScript classes",
2228
+ "group": "2_ProgLanguages",
2229
+ "function": {
2230
+ "name": "avrotize.avrotojs.convert_avro_to_javascript",
2231
+ "args": {
2232
+ "avro_schema_path": "input_file_path",
2233
+ "js_dir_path": "output_file_path",
2234
+ "package_name": "args.package",
2235
+ "avro_annotation": "args.avro_annotation"
2236
+ }
2237
+ },
2238
+ "extensions": [
2239
+ ".avsc"
2240
+ ],
2241
+ "args": [
2242
+ {
2243
+ "name": "input",
2244
+ "type": "str",
2245
+ "nargs": "?",
2246
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2247
+ "required": false
2248
+ },
2249
+ {
2250
+ "name": "--out",
2251
+ "type": "str",
2252
+ "help": "Output path for the JavaScript classes",
2253
+ "required": true
2254
+ },
2255
+ {
2256
+ "name": "--avsc",
2257
+ "type": "str",
2258
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
2259
+ "required": false
2260
+ },
2261
+ {
2262
+ "name": "--package",
2263
+ "type": "str",
2264
+ "help": "JavaScript package name",
2265
+ "required": false
2266
+ },
2267
+ {
2268
+ "name": "--avro-annotation",
2269
+ "type": "bool",
2270
+ "help": "Use Avro annotations",
2271
+ "default": false,
2272
+ "required": false
2273
+ }
2274
+ ],
2275
+ "suggested_output_file_path": "{input_file_name}-js",
2276
+ "prompts": [
2277
+ {
2278
+ "name": "--avro-annotation",
2279
+ "message": "Use Avro annotations?",
2280
+ "type": "bool",
2281
+ "default": false
2282
+ }
2283
+ ]
2284
+ },
2285
+ {
2286
+ "command": "a2cpp",
2287
+ "description": "Convert Avrotize schema to C++ classes",
2288
+ "group": "2_ProgLanguages",
2289
+ "function": {
2290
+ "name": "avrotize.avrotocpp.convert_avro_to_cpp",
2291
+ "args": {
2292
+ "avro_schema_path": "input_file_path",
2293
+ "output_dir": "output_file_path",
2294
+ "namespace": "args.namespace",
2295
+ "avro_annotation": "args.avro_annotation",
2296
+ "json_annotation": "args.json_annotation"
2297
+ }
2298
+ },
2299
+ "extensions": [
2300
+ ".avsc"
2301
+ ],
2302
+ "args": [
2303
+ {
2304
+ "name": "input",
2305
+ "type": "str",
2306
+ "nargs": "?",
2307
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2308
+ "required": false
2309
+ },
2310
+ {
2311
+ "name": "--out",
2312
+ "type": "str",
2313
+ "help": "Output path for the C++ classes",
2314
+ "required": true
2315
+ },
2316
+ {
2317
+ "name": "--avsc",
2318
+ "type": "str",
2319
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
2320
+ "required": false
2321
+ },
2322
+ {
2323
+ "name": "--namespace",
2324
+ "type": "str",
2325
+ "help": "C++ namespace",
2326
+ "required": false
2327
+ },
2328
+ {
2329
+ "name": "--avro-annotation",
2330
+ "type": "bool",
2331
+ "help": "Use Avro annotations",
2332
+ "default": false,
2333
+ "required": false
2334
+ },
2335
+ {
2336
+ "name": "--json-annotation",
2337
+ "type": "bool",
2338
+ "help": "Use JSON annotations",
2339
+ "default": false,
2340
+ "required": false
2341
+ }
2342
+ ],
2343
+ "suggested_output_file_path": "{input_file_name}-cpp",
2344
+ "prompts": [
2345
+ {
2346
+ "name": "--namespace",
2347
+ "message": "Enter the root namespace for the C++ classes (optional)",
2348
+ "type": "str",
2349
+ "default": "{input_file_name}",
2350
+ "required": false
2351
+ },
2352
+ {
2353
+ "name": "--avro-annotation",
2354
+ "message": "Use Avro annotations?",
2355
+ "type": "bool",
2356
+ "default": false
2357
+ },
2358
+ {
2359
+ "name": "--json-annotation",
2360
+ "message": "Use JSON annotations?",
2361
+ "type": "bool",
2362
+ "default": false
2363
+ }
2364
+ ]
2365
+ },
2366
+ {
2367
+ "command": "a2go",
2368
+ "description": "Convert Avrotize schema to Go classes",
2369
+ "group": "2_ProgLanguages",
2370
+ "function": {
2371
+ "name": "avrotize.avrotogo.convert_avro_to_go",
2372
+ "args": {
2373
+ "avro_schema_path": "input_file_path",
2374
+ "go_file_path": "output_file_path",
2375
+ "package_name": "args.package",
2376
+ "avro_annotation": "args.avro_annotation",
2377
+ "json_annotation": "args.json_annotation",
2378
+ "package_site": "args.package_site",
2379
+ "package_username": "args.package_username"
2380
+ }
2381
+ },
2382
+ "extensions": [
2383
+ ".avsc"
2384
+ ],
2385
+ "args": [
2386
+ {
2387
+ "name": "input",
2388
+ "type": "str",
2389
+ "nargs": "?",
2390
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2391
+ "required": false
2392
+ },
2393
+ {
2394
+ "name": "--out",
2395
+ "type": "str",
2396
+ "help": "Output path for the Go classes",
2397
+ "required": true
2398
+ },
2399
+ {
2400
+ "name": "--avsc",
2401
+ "type": "str",
2402
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
2403
+ "required": false
2404
+ },
2405
+ {
2406
+ "name": "--package",
2407
+ "type": "str",
2408
+ "help": "Go package name",
2409
+ "required": false
2410
+ },
2411
+ {
2412
+ "name": "--package-site",
2413
+ "type": "str",
2414
+ "help": "Go package site",
2415
+ "required": false
2416
+ },
2417
+ {
2418
+ "name": "--package-username",
2419
+ "type": "str",
2420
+ "help": "Go package username",
2421
+ "required": false
2422
+ },
2423
+ {
2424
+ "name": "--avro-annotation",
2425
+ "type": "bool",
2426
+ "help": "Use Avro annotations",
2427
+ "default": false,
2428
+ "required": false
2429
+ },
2430
+ {
2431
+ "name": "--json-annotation",
2432
+ "type": "bool",
2433
+ "help": "Use JSON annotations",
2434
+ "default": false,
2435
+ "required": false
2436
+ }
2437
+ ],
2438
+ "suggested_output_file_path": "{input_file_name}-go",
2439
+ "prompts": [
2440
+ {
2441
+ "name": "--avro-annotation",
2442
+ "message": "Use Avro annotations?",
2443
+ "type": "bool",
2444
+ "default": false
2445
+ },
2446
+ {
2447
+ "name": "--json-annotation",
2448
+ "message": "Use JSON annotations?",
2449
+ "type": "bool",
2450
+ "default": false
2451
+ },
2452
+ {
2453
+ "name": "--package",
2454
+ "message": "Enter the Go package name (optional)",
2455
+ "type": "str",
2456
+ "required": false
2457
+ },
2458
+ {
2459
+ "name": "--package-site",
2460
+ "message": "Enter the Go package site (optional)",
2461
+ "type": "str",
2462
+ "required": false
2463
+ },
2464
+ {
2465
+ "name": "--package-username",
2466
+ "message": "Enter the Go package username (optional)",
2467
+ "type": "str",
2468
+ "required": false
2469
+ }
2470
+ ]
2471
+ },
2472
+ {
2473
+ "command": "a2rust",
2474
+ "description": "Convert Avrotize schema to Rust classes",
2475
+ "group": "2_ProgLanguages",
2476
+ "function": {
2477
+ "name": "avrotize.avrotorust.convert_avro_to_rust",
2478
+ "args": {
2479
+ "avro_schema_path": "input_file_path",
2480
+ "rust_file_path": "output_file_path",
2481
+ "package_name": "args.package",
2482
+ "avro_annotation": "args.avro_annotation",
2483
+ "serde_annotation": "args.json_annotation"
2484
+ }
2485
+ },
2486
+ "extensions": [
2487
+ ".avsc"
2488
+ ],
2489
+ "args": [
2490
+ {
2491
+ "name": "input",
2492
+ "type": "str",
2493
+ "nargs": "?",
2494
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2495
+ "required": false
2496
+ },
2497
+ {
2498
+ "name": "--out",
2499
+ "type": "str",
2500
+ "help": "Output path for the Rust classes",
2501
+ "required": true
2502
+ },
2503
+ {
2504
+ "name": "--avsc",
2505
+ "type": "str",
2506
+ "help": "Deprecated: Path to the Avrotize schema file (for backcompat)",
2507
+ "required": false
2508
+ },
2509
+ {
2510
+ "name": "--package",
2511
+ "type": "str",
2512
+ "help": "Rust package name",
2513
+ "required": false
2514
+ },
2515
+ {
2516
+ "name": "--avro-annotation",
2517
+ "type": "bool",
2518
+ "help": "Use Avro annotations",
2519
+ "default": false,
2520
+ "required": false
2521
+ },
2522
+ {
2523
+ "name": "--json-annotation",
2524
+ "type": "bool",
2525
+ "help": "Use JSON annotations",
2526
+ "default": false,
2527
+ "required": false
2528
+ }
2529
+ ],
2530
+ "suggested_output_file_path": "{input_file_name}-rust",
2531
+ "prompts": [
2532
+ {
2533
+ "name": "--package",
2534
+ "message": "Enter the Rust package name (optional)",
2535
+ "type": "str",
2536
+ "required": false
2537
+ },
2538
+ {
2539
+ "name": "--avro-annotation",
2540
+ "message": "Use Avro annotations?",
2541
+ "type": "bool",
2542
+ "default": false
2543
+ },
2544
+ {
2545
+ "name": "--json-annotation",
2546
+ "message": "Use JSON annotations?",
2547
+ "type": "bool",
2548
+ "default": false
2549
+ }
2550
+ ]
2551
+ },
2552
+ {
2553
+ "command": "a2dp",
2554
+ "description": "Convert Avrotize schema to Datapackage schema",
2555
+ "group": "1_Schemas",
2556
+ "function": {
2557
+ "name": "avrotize.avrotodatapackage.convert_avro_to_datapackage",
2558
+ "args": {
2559
+ "avro_schema_path": "input_file_path",
2560
+ "datapackage_path": "output_file_path",
2561
+ "avro_record_type": "args.record_type"
2562
+ }
2563
+ },
2564
+ "extensions": [
2565
+ ".avsc"
2566
+ ],
2567
+ "args": [
2568
+ {
2569
+ "name": "input",
2570
+ "type": "str",
2571
+ "nargs": "?",
2572
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2573
+ "required": false
2574
+ },
2575
+ {
2576
+ "name": "--out",
2577
+ "type": "str",
2578
+ "help": "Output path for the Datapackage schema",
2579
+ "required": false
2580
+ },
2581
+ {
2582
+ "name": "--record-type",
2583
+ "type": "str",
2584
+ "help": "Record type in the Avrotize schema",
2585
+ "required": false
2586
+ }
2587
+ ],
2588
+ "suggested_output_file_path": "{input_file_name}.json",
2589
+ "prompts": [
2590
+ {
2591
+ "name": "--record-type",
2592
+ "message": "Enter the record type in the Avro schema (optional)",
2593
+ "type": "str",
2594
+ "required": false
2595
+ }
2596
+ ]
2597
+ },
2598
+ {
2599
+ "command": "s2dp",
2600
+ "description": "Convert JSON Structure schema to Datapackage schema",
2601
+ "group": "1_Schemas",
2602
+ "function": {
2603
+ "name": "avrotize.structuretodatapackage.convert_structure_to_datapackage",
2604
+ "args": {
2605
+ "structure_schema_path": "input_file_path",
2606
+ "datapackage_path": "output_file_path",
2607
+ "structure_record_type": "args.record_type"
2608
+ }
2609
+ },
2610
+ "extensions": [
2611
+ ".struct.json",
2612
+ ".json"
2613
+ ],
2614
+ "args": [
2615
+ {
2616
+ "name": "input",
2617
+ "type": "str",
2618
+ "nargs": "?",
2619
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
2620
+ "required": false
2621
+ },
2622
+ {
2623
+ "name": "--out",
2624
+ "type": "str",
2625
+ "help": "Output path for the Datapackage schema",
2626
+ "required": false
2627
+ },
2628
+ {
2629
+ "name": "--record-type",
2630
+ "type": "str",
2631
+ "help": "Record type in the JSON Structure schema",
2632
+ "required": false
2633
+ }
2634
+ ],
2635
+ "suggested_output_file_path": "{input_file_name}.datapackage.json",
2636
+ "prompts": [
2637
+ {
2638
+ "name": "--record-type",
2639
+ "message": "Enter the record type in the JSON Structure schema (optional)",
2640
+ "type": "str",
2641
+ "required": false
2642
+ }
2643
+ ]
2644
+ },
2645
+ {
2646
+ "command": "a2md",
2647
+ "description": "Convert Avrotize schema to Markdown documentation",
2648
+ "group": "7_Utility",
2649
+ "function": {
2650
+ "name": "avrotize.avrotomd.convert_avro_to_markdown",
2651
+ "args": {
2652
+ "avro_schema_path": "input_file_path",
2653
+ "markdown_path": "output_file_path"
2654
+ }
2655
+ },
2656
+ "extensions": [
2657
+ ".avsc"
2658
+ ],
2659
+ "args": [
2660
+ {
2661
+ "name": "input",
2662
+ "type": "str",
2663
+ "nargs": "?",
2664
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2665
+ "required": false
2666
+ },
2667
+ {
2668
+ "name": "--out",
2669
+ "type": "str",
2670
+ "help": "Output path for the Markdown documentation",
2671
+ "required": false
2672
+ }
2673
+ ],
2674
+ "suggested_output_file_path": "{input_file_name}.md",
2675
+ "prompts": []
2676
+ },
2677
+ {
2678
+ "command": "pcf",
2679
+ "description": "Create the Parsing Canonical Form (PCF) of an Avrotize schema",
2680
+ "group": "7_Utility",
2681
+ "function": {
2682
+ "name": "avrotize.avrotools.avsc_to_pcf",
2683
+ "args": {
2684
+ "schema_file": "input_file_path"
2685
+ }
2686
+ },
2687
+ "extensions": [
2688
+ ".avsc"
2689
+ ],
2690
+ "args": [
2691
+ {
2692
+ "name": "input",
2693
+ "type": "str",
2694
+ "nargs": "?",
2695
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2696
+ "required": false
2697
+ }
2698
+ ],
2699
+ "prompts": []
2700
+ },
2701
+ {
2702
+ "command": "csv2a",
2703
+ "description": "Convert CSV file to Avrotize schema",
2704
+ "group": "1_Schemas",
2705
+ "function": {
2706
+ "name": "avrotize.csvtoavro.convert_csv_to_avro",
2707
+ "args": {
2708
+ "csv_file_path": "input_file_path",
2709
+ "avro_file_path": "output_file_path",
2710
+ "namespace": "args.namespace"
2711
+ }
2712
+ },
2713
+ "extensions": [
2714
+ ".csv"
2715
+ ],
2716
+ "args": [
2717
+ {
2718
+ "name": "input",
2719
+ "type": "str",
2720
+ "nargs": "?",
2721
+ "help": "Path to the CSV file (or read from stdin if omitted)",
2722
+ "required": false
2723
+ },
2724
+ {
2725
+ "name": "--out",
2726
+ "type": "str",
2727
+ "help": "Path to the Avrotize schema file",
2728
+ "required": false
2729
+ },
2730
+ {
2731
+ "name": "--namespace",
2732
+ "type": "str",
2733
+ "help": "Namespace for the Avrotize schema",
2734
+ "required": false
2735
+ }
2736
+ ],
2737
+ "suggested_output_file_path": "{input_file_name}.avsc",
2738
+ "prompts": [
2739
+ {
2740
+ "name": "--namespace",
2741
+ "message": "Enter the namespace for the Avro schema",
2742
+ "type": "str",
2743
+ "required": false
2744
+ }
2745
+ ]
2746
+ },
2747
+ {
2748
+ "command": "a2cassandra",
2749
+ "description": "Convert Avrotize schema to Cassandra schema",
2750
+ "group": "5_SQL",
2751
+ "function": {
2752
+ "name": "avrotize.avrotodb.convert_avro_to_sql",
2753
+ "args": {
2754
+ "avro_schema_path": "input_file_path",
2755
+ "dbscript_file_path": "output_file_path",
2756
+ "db_dialect": "cassandra",
2757
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2758
+ }
2759
+ },
2760
+ "extensions": [
2761
+ ".avsc"
2762
+ ],
2763
+ "args": [
2764
+ {
2765
+ "name": "input",
2766
+ "type": "str",
2767
+ "nargs": "?",
2768
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2769
+ "required": false
2770
+ },
2771
+ {
2772
+ "name": "--out",
2773
+ "type": "str",
2774
+ "help": "Path to the Cassandra schema file",
2775
+ "required": true
2776
+ },
2777
+ {
2778
+ "name": "--emit-cloudevents-columns",
2779
+ "type": "bool",
2780
+ "help": "Add CloudEvents columns to the Cassandra schema",
2781
+ "default": false,
2782
+ "required": false
2783
+ }
2784
+ ],
2785
+ "suggested_output_file_path": "{input_file_name}.cql",
2786
+ "prompts": [
2787
+ {
2788
+ "name": "--emit-cloudevents-columns",
2789
+ "message": "Add CloudEvents columns to the Cassandra schema?",
2790
+ "type": "bool",
2791
+ "default": false
2792
+ }
2793
+ ]
2794
+ },
2795
+ {
2796
+ "command": "struct2cassandra",
2797
+ "description": "Convert JSON Structure schema to Cassandra schema",
2798
+ "group": "5_SQL",
2799
+ "function": {
2800
+ "name": "avrotize.structuretodb.convert_structure_to_sql",
2801
+ "args": {
2802
+ "structure_schema_path": "input_file_path",
2803
+ "dbscript_file_path": "output_file_path",
2804
+ "db_dialect": "cassandra",
2805
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2806
+ }
2807
+ },
2808
+ "extensions": [
2809
+ ".jstruct",
2810
+ ".struct.json"
2811
+ ],
2812
+ "args": [
2813
+ {
2814
+ "name": "input",
2815
+ "type": "str",
2816
+ "nargs": "?",
2817
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
2818
+ "required": false
2819
+ },
2820
+ {
2821
+ "name": "--out",
2822
+ "type": "str",
2823
+ "help": "Path to the Cassandra schema file",
2824
+ "required": false
2825
+ },
2826
+ {
2827
+ "name": "--emit-cloudevents-columns",
2828
+ "type": "bool",
2829
+ "help": "Add CloudEvents columns",
2830
+ "default": false,
2831
+ "required": false
2832
+ }
2833
+ ],
2834
+ "suggested_output_file_path": "{input_file_name}.cql",
2835
+ "prompts": []
2836
+ },
2837
+ {
2838
+ "command": "a2dynamodb",
2839
+ "description": "Convert Avrotize schema to DynamoDB schema",
2840
+ "group": "6_NoSQL",
2841
+ "function": {
2842
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2843
+ "args": {
2844
+ "avro_schema_path": "input_file_path",
2845
+ "nosql_file_path": "output_file_path",
2846
+ "nosql_dialect": "dynamodb",
2847
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2848
+ }
2849
+ },
2850
+ "extensions": [
2851
+ ".avsc"
2852
+ ],
2853
+ "args": [
2854
+ {
2855
+ "name": "input",
2856
+ "type": "str",
2857
+ "nargs": "?",
2858
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2859
+ "required": false
2860
+ },
2861
+ {
2862
+ "name": "--out",
2863
+ "type": "str",
2864
+ "help": "Path to the DynamoDB schema file",
2865
+ "required": true
2866
+ },
2867
+ {
2868
+ "name": "--emit-cloudevents-columns",
2869
+ "type": "bool",
2870
+ "help": "Add CloudEvents columns to the DynamoDB schema",
2871
+ "default": false,
2872
+ "required": false
2873
+ }
2874
+ ],
2875
+ "suggested_output_file_path": "{input_file_name}.json",
2876
+ "prompts": [
2877
+ {
2878
+ "name": "--emit-cloudevents-columns",
2879
+ "message": "Add CloudEvents columns to the DynamoDB schema?",
2880
+ "type": "bool",
2881
+ "default": false
2882
+ }
2883
+ ]
2884
+ },
2885
+ {
2886
+ "command": "a2es",
2887
+ "description": "Convert Avrotize schema to Elasticsearch schema",
2888
+ "group": "6_NoSQL",
2889
+ "function": {
2890
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2891
+ "args": {
2892
+ "avro_schema_path": "input_file_path",
2893
+ "nosql_file_path": "output_file_path",
2894
+ "nosql_dialect": "elasticsearch",
2895
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2896
+ }
2897
+ },
2898
+ "extensions": [
2899
+ ".avsc"
2900
+ ],
2901
+ "args": [
2902
+ {
2903
+ "name": "input",
2904
+ "type": "str",
2905
+ "nargs": "?",
2906
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2907
+ "required": false
2908
+ },
2909
+ {
2910
+ "name": "--out",
2911
+ "type": "str",
2912
+ "help": "Path to the Elasticsearch schema file",
2913
+ "required": true
2914
+ },
2915
+ {
2916
+ "name": "--emit-cloudevents-columns",
2917
+ "type": "bool",
2918
+ "help": "Add CloudEvents columns to the Elasticsearch schema",
2919
+ "default": false,
2920
+ "required": false
2921
+ }
2922
+ ],
2923
+ "suggested_output_file_path": "{input_file_name}.json",
2924
+ "prompts": [
2925
+ {
2926
+ "name": "--emit-cloudevents-columns",
2927
+ "message": "Add CloudEvents columns to the Elasticsearch schema?",
2928
+ "type": "bool",
2929
+ "default": false
2930
+ }
2931
+ ]
2932
+ },
2933
+ {
2934
+ "command": "a2couchdb",
2935
+ "description": "Convert Avrotize schema to CouchDB schema",
2936
+ "group": "6_NoSQL",
2937
+ "function": {
2938
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2939
+ "args": {
2940
+ "avro_schema_path": "input_file_path",
2941
+ "nosql_file_path": "output_file_path",
2942
+ "nosql_dialect": "couchdb",
2943
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2944
+ }
2945
+ },
2946
+ "extensions": [
2947
+ ".avsc"
2948
+ ],
2949
+ "args": [
2950
+ {
2951
+ "name": "input",
2952
+ "type": "str",
2953
+ "nargs": "?",
2954
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
2955
+ "required": false
2956
+ },
2957
+ {
2958
+ "name": "--out",
2959
+ "type": "str",
2960
+ "help": "Path to the CouchDB schema file",
2961
+ "required": true
2962
+ },
2963
+ {
2964
+ "name": "--emit-cloudevents-columns",
2965
+ "type": "bool",
2966
+ "help": "Add CloudEvents columns to the CouchDB schema",
2967
+ "default": false,
2968
+ "required": false
2969
+ }
2970
+ ],
2971
+ "suggested_output_file_path": "{input_file_name}.json",
2972
+ "prompts": [
2973
+ {
2974
+ "name": "--emit-cloudevents-columns",
2975
+ "message": "Add CloudEvents columns to the CouchDB schema?",
2976
+ "type": "bool",
2977
+ "default": false
2978
+ }
2979
+ ]
2980
+ },
2981
+ {
2982
+ "command": "a2neo4j",
2983
+ "description": "Convert Avrotize schema to Neo4j schema",
2984
+ "group": "6_NoSQL",
2985
+ "function": {
2986
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
2987
+ "args": {
2988
+ "avro_schema_path": "input_file_path",
2989
+ "nosql_file_path": "output_file_path",
2990
+ "nosql_dialect": "neo4j",
2991
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
2992
+ }
2993
+ },
2994
+ "extensions": [
2995
+ ".avsc"
2996
+ ],
2997
+ "args": [
2998
+ {
2999
+ "name": "input",
3000
+ "type": "str",
3001
+ "nargs": "?",
3002
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
3003
+ "required": false
3004
+ },
3005
+ {
3006
+ "name": "--out",
3007
+ "type": "str",
3008
+ "help": "Path to the Neo4j schema file",
3009
+ "required": true
3010
+ },
3011
+ {
3012
+ "name": "--emit-cloudevents-columns",
3013
+ "type": "bool",
3014
+ "help": "Add CloudEvents columns to the Neo4j schema",
3015
+ "default": false,
3016
+ "required": false
3017
+ }
3018
+ ],
3019
+ "suggested_output_file_path": "{input_file_name}.cypher",
3020
+ "prompts": [
3021
+ {
3022
+ "name": "--emit-cloudevents-columns",
3023
+ "message": "Add CloudEvents columns to the Neo4j schema?",
3024
+ "type": "bool",
3025
+ "default": false
3026
+ }
3027
+ ]
3028
+ },
3029
+ {
3030
+ "command": "a2firebase",
3031
+ "description": "Convert Avrotize schema to Firebase schema",
3032
+ "group": "6_NoSQL",
3033
+ "function": {
3034
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
3035
+ "args": {
3036
+ "avro_schema_path": "input_file_path",
3037
+ "nosql_file_path": "output_file_path",
3038
+ "nosql_dialect": "firebase",
3039
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
3040
+ }
3041
+ },
3042
+ "extensions": [
3043
+ ".avsc"
3044
+ ],
3045
+ "args": [
3046
+ {
3047
+ "name": "input",
3048
+ "type": "str",
3049
+ "nargs": "?",
3050
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
3051
+ "required": false
3052
+ },
3053
+ {
3054
+ "name": "--out",
3055
+ "type": "str",
3056
+ "help": "Path to the Firebase schema file",
3057
+ "required": true
3058
+ },
3059
+ {
3060
+ "name": "--emit-cloudevents-columns",
3061
+ "type": "bool",
3062
+ "help": "Add CloudEvents columns to the Firebase schema",
3063
+ "default": false,
3064
+ "required": false
3065
+ }
3066
+ ],
3067
+ "suggested_output_file_path": "{input_file_name}.json",
3068
+ "prompts": [
3069
+ {
3070
+ "name": "--emit-cloudevents-columns",
3071
+ "message": "Add CloudEvents columns to the Firebase schema?",
3072
+ "type": "bool",
3073
+ "default": false
3074
+ }
3075
+ ]
3076
+ },
3077
+ {
3078
+ "command": "a2cosmos",
3079
+ "description": "Convert Avrotize schema to CosmosDB schema",
3080
+ "group": "6_NoSQL",
3081
+ "function": {
3082
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
3083
+ "args": {
3084
+ "avro_schema_path": "input_file_path",
3085
+ "nosql_file_path": "output_file_path",
3086
+ "nosql_dialect": "cosmosdb",
3087
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
3088
+ }
3089
+ },
3090
+ "extensions": [
3091
+ ".avsc"
3092
+ ],
3093
+ "args": [
3094
+ {
3095
+ "name": "input",
3096
+ "type": "str",
3097
+ "nargs": "?",
3098
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
3099
+ "required": false
3100
+ },
3101
+ {
3102
+ "name": "--out",
3103
+ "type": "str",
3104
+ "help": "Path to the CosmosDB schema file",
3105
+ "required": true
3106
+ },
3107
+ {
3108
+ "name": "--emit-cloudevents-columns",
3109
+ "type": "bool",
3110
+ "help": "Add CloudEvents columns to the CosmosDB schema",
3111
+ "default": false,
3112
+ "required": false
3113
+ }
3114
+ ],
3115
+ "suggested_output_file_path": "{input_file_name}.json",
3116
+ "prompts": [
3117
+ {
3118
+ "name": "--emit-cloudevents-columns",
3119
+ "message": "Add CloudEvents columns to the CosmosDB schema?",
3120
+ "type": "bool",
3121
+ "default": false
3122
+ }
3123
+ ]
3124
+ },
3125
+ {
3126
+ "command": "a2hbase",
3127
+ "description": "Convert Avrotize schema to HBase schema",
3128
+ "group": "6_NoSQL",
3129
+ "function": {
3130
+ "name": "avrotize.avrotodb.convert_avro_to_nosql",
3131
+ "args": {
3132
+ "avro_schema_path": "input_file_path",
3133
+ "nosql_file_path": "output_file_path",
3134
+ "nosql_dialect": "hbase",
3135
+ "emit_cloudevents_columns": "args.emit_cloudevents_columns"
3136
+ }
3137
+ },
3138
+ "extensions": [
3139
+ ".avsc"
3140
+ ],
3141
+ "args": [
3142
+ {
3143
+ "name": "input",
3144
+ "type": "str",
3145
+ "nargs": "?",
3146
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
3147
+ "required": false
3148
+ },
3149
+ {
3150
+ "name": "--out",
3151
+ "type": "str",
3152
+ "help": "Path to the HBase schema file",
3153
+ "required": true
3154
+ },
3155
+ {
3156
+ "name": "--emit-cloudevents-columns",
3157
+ "type": "bool",
3158
+ "help": "Add CloudEvents columns to the HBase schema",
3159
+ "default": false,
3160
+ "required": false
3161
+ }
3162
+ ],
3163
+ "suggested_output_file_path": "{input_file_name}.json",
3164
+ "prompts": [
3165
+ {
3166
+ "name": "--emit-cloudevents-columns",
3167
+ "message": "Add CloudEvents columns to the HBase schema?",
3168
+ "type": "bool",
3169
+ "default": false
3170
+ }
3171
+ ]
3172
+ },
3173
+ {
3174
+ "command": "s2a",
3175
+ "description": "Convert JSON structure to Avrotize schema",
3176
+ "group": "1_Schemas",
3177
+ "function": {
3178
+ "name": "avrotize.jstructtoavro.convert_json_structure_to_avro",
3179
+ "args": {
3180
+ "structure_file": "input_file_path",
3181
+ "avro_file": "output_file_path"
3182
+ }
3183
+ },
3184
+ "extensions": [
3185
+ ".struct.json",
3186
+ ".json"
3187
+ ],
3188
+ "args": [
3189
+ {
3190
+ "name": "input",
3191
+ "type": "str",
3192
+ "nargs": "?",
3193
+ "help": "Path to the JSON structure file (or read from stdin if omitted)",
3194
+ "required": false
3195
+ },
3196
+ {
3197
+ "name": "--out",
3198
+ "type": "str",
3199
+ "help": "Path to the Avrotize schema file",
3200
+ "required": false
3201
+ }
3202
+ ],
3203
+ "suggested_output_file_path": "{input_file_name}.avsc",
3204
+ "prompts": []
3205
+ },
3206
+ {
3207
+ "command": "a2s",
3208
+ "description": "Convert Avrotize schema to JSON structure",
3209
+ "group": "1_Schemas",
3210
+ "function": {
3211
+ "name": "avrotize.avrotojstruct.convert_avro_to_json_structure",
3212
+ "args": {
3213
+ "avro_schema_file": "input_file_path",
3214
+ "json_structure_file": "output_file_path",
3215
+ "naming_mode": "args.naming",
3216
+ "avro_encoding": "args.avro_encoding"
3217
+ }
3218
+ },
3219
+ "extensions": [
3220
+ ".avsc"
3221
+ ],
3222
+ "args": [
3223
+ {
3224
+ "name": "input",
3225
+ "type": "str",
3226
+ "nargs": "?",
3227
+ "help": "Path to the Avrotize schema file (or read from stdin if omitted)",
3228
+ "required": false
3229
+ },
3230
+ {
3231
+ "name": "--out",
3232
+ "type": "str",
3233
+ "help": "Path to the JSON structure file",
3234
+ "required": false
3235
+ },
3236
+ {
3237
+ "name": "--naming",
3238
+ "type": "str",
3239
+ "help": "Type naming convention",
3240
+ "choices": [
3241
+ "snake",
3242
+ "camel",
3243
+ "pascal",
3244
+ "default"
3245
+ ],
3246
+ "required": false,
3247
+ "default": "default"
3248
+ },
3249
+ {
3250
+ "name": "--avro-encoding",
3251
+ "type": "bool",
3252
+ "help": "Enable Avro encoding for unions",
3253
+ "default": false,
3254
+ "required": false
3255
+ }
3256
+ ],
3257
+ "suggested_output_file_path": "{input_file_name}.struct.json",
3258
+ "prompts": []
3259
+ },
3260
+ {
3261
+ "command": "s2x",
3262
+ "description": "Convert JSON Structure to XSD schema",
3263
+ "group": "1_Schemas",
3264
+ "function": {
3265
+ "name": "avrotize.structuretoxsd.convert_structure_to_xsd",
3266
+ "args": {
3267
+ "structure_schema_path": "input_file_path",
3268
+ "xml_file_path": "output_file_path",
3269
+ "target_namespace": "args.namespace"
3270
+ }
3271
+ },
3272
+ "extensions": [
3273
+ ".struct.json",
3274
+ ".json"
3275
+ ],
3276
+ "args": [
3277
+ {
3278
+ "name": "input",
3279
+ "type": "str",
3280
+ "nargs": "?",
3281
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
3282
+ "required": false
3283
+ },
3284
+ {
3285
+ "name": "--out",
3286
+ "type": "str",
3287
+ "help": "Path to the XSD schema file",
3288
+ "required": false
3289
+ },
3290
+ {
3291
+ "name": "--struct",
3292
+ "type": "str",
3293
+ "help": "Deprecated: Path to the JSON Structure file (for backcompat)",
3294
+ "required": false
3295
+ },
3296
+ {
3297
+ "name": "--namespace",
3298
+ "type": "str",
3299
+ "help": "Target namespace for the XSD schema",
3300
+ "required": false
3301
+ }
3302
+ ],
3303
+ "suggested_output_file_path": "{input_file_name}.xsd",
3304
+ "prompts": []
3305
+ },
3306
+ {
3307
+ "command": "s2cddl",
3308
+ "description": "Convert JSON Structure to CDDL schema",
3309
+ "group": "1_Schemas",
3310
+ "function": {
3311
+ "name": "avrotize.structuretocddl.convert_structure_to_cddl_files",
3312
+ "args": {
3313
+ "structure_schema_path": "input_file_path",
3314
+ "cddl_file_path": "output_file_path"
3315
+ }
3316
+ },
3317
+ "extensions": [
3318
+ ".struct.json",
3319
+ ".json"
3320
+ ],
3321
+ "args": [
3322
+ {
3323
+ "name": "input",
3324
+ "type": "str",
3325
+ "nargs": "?",
3326
+ "help": "Path to the JSON Structure file (or read from stdin if omitted)",
3327
+ "required": false
3328
+ },
3329
+ {
3330
+ "name": "--out",
3331
+ "type": "str",
3332
+ "help": "Path to the CDDL schema file",
3333
+ "required": false
3334
+ }
3335
+ ],
3336
+ "suggested_output_file_path": "{input_file_name}.cddl",
3337
+ "prompts": []
3338
+ },
3339
+ {
3340
+ "command": "struct2md",
3341
+ "description": "Convert JSON Structure schema to Markdown documentation",
3342
+ "group": "7_Utility",
3343
+ "function": {
3344
+ "name": "avrotize.structuretomd.convert_structure_to_markdown",
3345
+ "args": {
3346
+ "structure_schema_path": "input_file_path",
3347
+ "markdown_path": "output_file_path"
3348
+ }
3349
+ },
3350
+ "extensions": [
3351
+ ".struct.json"
3352
+ ],
3353
+ "args": [
3354
+ {
3355
+ "name": "input",
3356
+ "type": "str",
3357
+ "nargs": "?",
3358
+ "help": "Path to the JSON Structure schema file (or read from stdin if omitted)",
3359
+ "required": false
3360
+ },
3361
+ {
3362
+ "name": "--out",
3363
+ "type": "str",
3364
+ "help": "Output path for the Markdown documentation",
3365
+ "required": false
3366
+ }
3367
+ ],
3368
+ "suggested_output_file_path": "{input_file_name}.md",
3369
+ "prompts": []
3370
+ },
3371
+ {
3372
+ "command": "cddl2s",
3373
+ "description": "Convert CDDL schema to JSON Structure",
3374
+ "group": "1_Schemas",
3375
+ "function": {
3376
+ "name": "avrotize.cddltostructure.convert_cddl_to_structure_files",
3377
+ "args": {
3378
+ "cddl_file_path": "input_file_path",
3379
+ "structure_schema_path": "output_file_path",
3380
+ "namespace": "args.namespace"
3381
+ }
3382
+ },
3383
+ "extensions": [
3384
+ ".cddl"
3385
+ ],
3386
+ "args": [
3387
+ {
3388
+ "name": "input",
3389
+ "type": "str",
3390
+ "nargs": "?",
3391
+ "help": "Path to the CDDL schema file (or read from stdin if omitted)",
3392
+ "required": false
3393
+ },
3394
+ {
3395
+ "name": "--out",
3396
+ "type": "str",
3397
+ "help": "Path to the JSON Structure file",
3398
+ "required": false
3399
+ },
3400
+ {
3401
+ "name": "--namespace",
3402
+ "type": "str",
3403
+ "help": "Namespace for the JSON Structure schema",
3404
+ "required": false
3405
+ }
3406
+ ],
3407
+ "suggested_output_file_path": "{input_file_name}.struct.json",
3408
+ "prompts": [
3409
+ {
3410
+ "name": "--namespace",
3411
+ "message": "Enter the namespace for the JSON Structure schema",
3412
+ "type": "str",
3413
+ "required": false
3414
+ }
3415
+ ]
3416
+ },
3417
+ {
3418
+ "command": "oas2s",
3419
+ "description": "Convert OpenAPI 3.x document to JSON Structure",
3420
+ "group": "1_Schemas",
3421
+ "function": {
3422
+ "name": "avrotize.openapitostructure.convert_openapi_to_structure_files",
3423
+ "args": {
3424
+ "openapi_file_path": "input_file_path",
3425
+ "structure_schema_path": "output_file_path",
3426
+ "root_namespace": "args.namespace",
3427
+ "preserve_composition": "args.preserve_composition",
3428
+ "detect_discriminators": "args.detect_discriminators",
3429
+ "lift_inline_schemas": "args.lift_inline_schemas"
3430
+ }
3431
+ },
3432
+ "extensions": [
3433
+ ".yaml",
3434
+ ".yml",
3435
+ ".json"
3436
+ ],
3437
+ "args": [
3438
+ {
3439
+ "name": "input",
3440
+ "type": "str",
3441
+ "nargs": "?",
3442
+ "help": "Path to the OpenAPI document (or read from stdin if omitted)",
3443
+ "required": false
3444
+ },
3445
+ {
3446
+ "name": "--out",
3447
+ "type": "str",
3448
+ "help": "Path to the JSON Structure output file",
3449
+ "required": false
3450
+ },
3451
+ {
3452
+ "name": "--namespace",
3453
+ "type": "str",
3454
+ "help": "Namespace for the JSON Structure schema",
3455
+ "required": false
3456
+ },
3457
+ {
3458
+ "name": "--preserve-composition",
3459
+ "type": "bool",
3460
+ "help": "Preserve composition keywords (allOf, oneOf, anyOf) - requires Conditional Composition extension",
3461
+ "default": false,
3462
+ "required": false
3463
+ },
3464
+ {
3465
+ "name": "--detect-discriminators",
3466
+ "type": "bool",
3467
+ "help": "Detect OpenAPI discriminator patterns",
3468
+ "default": true,
3469
+ "required": false
3470
+ },
3471
+ {
3472
+ "name": "--lift-inline-schemas",
3473
+ "type": "bool",
3474
+ "help": "Lift inline schemas from paths to named definitions",
3475
+ "default": false,
3476
+ "required": false
3477
+ }
3478
+ ],
3479
+ "suggested_output_file_path": "{input_file_name}.struct.json",
3480
+ "prompts": [
3481
+ {
3482
+ "name": "--namespace",
3483
+ "message": "Enter the namespace for the JSON Structure schema",
3484
+ "type": "str",
3485
+ "required": false
3486
+ },
3487
+ {
3488
+ "name": "--lift-inline-schemas",
3489
+ "message": "Lift inline schemas from paths to definitions?",
3490
+ "type": "bool",
3491
+ "default": false,
3492
+ "required": false
3493
+ }
3494
+ ]
3495
+ }
3496
+ ]