@oxy-hq/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +163 -0
  2. package/dist/main.mjs +6688 -0
  3. package/dist/main.mjs.map +1 -0
  4. package/dist/mcp-VdontkUr.mjs +316 -0
  5. package/dist/mcp-VdontkUr.mjs.map +1 -0
  6. package/json-schemas/agent-test.json +104 -0
  7. package/json-schemas/agentic.json +406 -0
  8. package/json-schemas/app.json +1884 -0
  9. package/json-schemas/config.json +2215 -0
  10. package/json-schemas/flow-test.json +124 -0
  11. package/json-schemas/global-semantics.json +782 -0
  12. package/json-schemas/workflow.json +1907 -0
  13. package/package.json +65 -0
  14. package/skills/oxy-airway-pipelines/SKILL.md +338 -0
  15. package/skills/oxy-automations/SKILL.md +67 -0
  16. package/skills/oxy-cli/SKILL.md +134 -0
  17. package/skills/oxy-custom-apps/SKILL.md +330 -0
  18. package/skills/oxy-data-architecture/SKILL.md +225 -0
  19. package/skills/oxy-semantic-modeling/SKILL.md +216 -0
  20. package/template/.gitattributes +2 -0
  21. package/template/.github/scripts/ci-publish.sh +77 -0
  22. package/template/.github/scripts/discover-apps.sh +175 -0
  23. package/template/.github/scripts/publish-env.sh +55 -0
  24. package/template/.github/workflows/publish.yaml +653 -0
  25. package/template/.github/workflows/validate.yaml +264 -0
  26. package/template/.nvmrc +1 -0
  27. package/template/.oxyc-managed +297 -0
  28. package/template/README.md +414 -0
  29. package/template/_gitignore +32 -0
  30. package/template/apps/.gitkeep +0 -0
  31. package/template/config.yml +53 -0
  32. package/template/memory/.gitkeep +0 -0
  33. package/template/package.json +17 -0
  34. package/template/pipelines/.gitkeep +0 -0
  35. package/template/pnpm-workspace.yaml +32 -0
  36. package/template/scripts/dev.sh +443 -0
  37. package/template/semantics/topics/.gitkeep +0 -0
  38. package/template/semantics/views/.gitkeep +0 -0
  39. package/template/workflows/.gitkeep +0 -0
@@ -0,0 +1,782 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Semantics",
4
+ "type": "object",
5
+ "required": [
6
+ "dimensions"
7
+ ],
8
+ "properties": {
9
+ "dimensions": {
10
+ "type": "array",
11
+ "items": {
12
+ "$ref": "#/definitions/SemanticDimension"
13
+ }
14
+ }
15
+ },
16
+ "additionalProperties": false,
17
+ "definitions": {
18
+ "InstanceType": {
19
+ "description": "The possible types of values in JSON Schema documents.\n\nSee [JSON Schema 4.2.1. Instance Data Model](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-4.2.1).",
20
+ "type": "string",
21
+ "enum": [
22
+ "null",
23
+ "boolean",
24
+ "object",
25
+ "array",
26
+ "number",
27
+ "string",
28
+ "integer"
29
+ ]
30
+ },
31
+ "Schema": {
32
+ "description": "A JSON Schema.",
33
+ "anyOf": [
34
+ {
35
+ "description": "A trivial boolean JSON Schema.\n\nThe schema `true` matches everything (always passes validation), whereas the schema `false` matches nothing (always fails validation).",
36
+ "type": "boolean"
37
+ },
38
+ {
39
+ "description": "A JSON Schema object.",
40
+ "allOf": [
41
+ {
42
+ "$ref": "#/definitions/SchemaObject"
43
+ }
44
+ ]
45
+ }
46
+ ]
47
+ },
48
+ "SchemaObject": {
49
+ "description": "A JSON Schema object.",
50
+ "type": "object",
51
+ "properties": {
52
+ "$id": {
53
+ "description": "The `$id` keyword.\n\nSee [JSON Schema 8.2.2. The \"$id\" Keyword](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-8.2.2).",
54
+ "type": [
55
+ "string",
56
+ "null"
57
+ ]
58
+ },
59
+ "$ref": {
60
+ "description": "The `$ref` keyword.\n\nSee [JSON Schema 8.2.4.1. Direct References with \"$ref\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-8.2.4.1).",
61
+ "type": [
62
+ "string",
63
+ "null"
64
+ ]
65
+ },
66
+ "additionalItems": {
67
+ "description": "The `additionalItems` keyword.\n\nSee [JSON Schema 9.3.1.2. \"additionalItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.2).",
68
+ "anyOf": [
69
+ {
70
+ "$ref": "#/definitions/Schema"
71
+ },
72
+ {
73
+ "type": "null"
74
+ }
75
+ ]
76
+ },
77
+ "additionalProperties": {
78
+ "description": "The `additionalProperties` keyword.\n\nSee [JSON Schema 9.3.2.3. \"additionalProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.3).",
79
+ "anyOf": [
80
+ {
81
+ "$ref": "#/definitions/Schema"
82
+ },
83
+ {
84
+ "type": "null"
85
+ }
86
+ ]
87
+ },
88
+ "allOf": {
89
+ "description": "The `allOf` keyword.\n\nSee [JSON Schema 9.2.1.1. \"allOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.1).",
90
+ "type": [
91
+ "array",
92
+ "null"
93
+ ],
94
+ "items": {
95
+ "$ref": "#/definitions/Schema"
96
+ }
97
+ },
98
+ "anyOf": {
99
+ "description": "The `anyOf` keyword.\n\nSee [JSON Schema 9.2.1.2. \"anyOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.2).",
100
+ "type": [
101
+ "array",
102
+ "null"
103
+ ],
104
+ "items": {
105
+ "$ref": "#/definitions/Schema"
106
+ }
107
+ },
108
+ "const": {
109
+ "description": "The `const` keyword.\n\nSee [JSON Schema Validation 6.1.3. \"const\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.3)"
110
+ },
111
+ "contains": {
112
+ "description": "The `contains` keyword.\n\nSee [JSON Schema 9.3.1.4. \"contains\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.4).",
113
+ "anyOf": [
114
+ {
115
+ "$ref": "#/definitions/Schema"
116
+ },
117
+ {
118
+ "type": "null"
119
+ }
120
+ ]
121
+ },
122
+ "default": {
123
+ "description": "The `default` keyword.\n\nSee [JSON Schema Validation 9.2. \"default\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.2)."
124
+ },
125
+ "deprecated": {
126
+ "description": "The `deprecated` keyword.\n\nSee [JSON Schema Validation 9.3. \"deprecated\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.3).",
127
+ "type": "boolean"
128
+ },
129
+ "description": {
130
+ "description": "The `description` keyword.\n\nSee [JSON Schema Validation 9.1. \"title\" and \"description\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.1).",
131
+ "type": [
132
+ "string",
133
+ "null"
134
+ ]
135
+ },
136
+ "else": {
137
+ "description": "The `else` keyword.\n\nSee [JSON Schema 9.2.2.3. \"else\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.3).",
138
+ "anyOf": [
139
+ {
140
+ "$ref": "#/definitions/Schema"
141
+ },
142
+ {
143
+ "type": "null"
144
+ }
145
+ ]
146
+ },
147
+ "enum": {
148
+ "description": "The `enum` keyword.\n\nSee [JSON Schema Validation 6.1.2. \"enum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.2)",
149
+ "type": [
150
+ "array",
151
+ "null"
152
+ ],
153
+ "items": true
154
+ },
155
+ "examples": {
156
+ "description": "The `examples` keyword.\n\nSee [JSON Schema Validation 9.5. \"examples\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.5).",
157
+ "type": "array",
158
+ "items": true
159
+ },
160
+ "exclusiveMaximum": {
161
+ "description": "The `exclusiveMaximum` keyword.\n\nSee [JSON Schema Validation 6.2.3. \"exclusiveMaximum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.3).",
162
+ "type": [
163
+ "number",
164
+ "null"
165
+ ],
166
+ "format": "double"
167
+ },
168
+ "exclusiveMinimum": {
169
+ "description": "The `exclusiveMinimum` keyword.\n\nSee [JSON Schema Validation 6.2.5. \"exclusiveMinimum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.5).",
170
+ "type": [
171
+ "number",
172
+ "null"
173
+ ],
174
+ "format": "double"
175
+ },
176
+ "format": {
177
+ "description": "The `format` keyword.\n\nSee [JSON Schema Validation 7. A Vocabulary for Semantic Content With \"format\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-7).",
178
+ "type": [
179
+ "string",
180
+ "null"
181
+ ]
182
+ },
183
+ "if": {
184
+ "description": "The `if` keyword.\n\nSee [JSON Schema 9.2.2.1. \"if\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.1).",
185
+ "anyOf": [
186
+ {
187
+ "$ref": "#/definitions/Schema"
188
+ },
189
+ {
190
+ "type": "null"
191
+ }
192
+ ]
193
+ },
194
+ "items": {
195
+ "description": "The `items` keyword.\n\nSee [JSON Schema 9.3.1.1. \"items\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.1).",
196
+ "anyOf": [
197
+ {
198
+ "$ref": "#/definitions/SingleOrVec_for_Schema"
199
+ },
200
+ {
201
+ "type": "null"
202
+ }
203
+ ]
204
+ },
205
+ "maxItems": {
206
+ "description": "The `maxItems` keyword.\n\nSee [JSON Schema Validation 6.4.1. \"maxItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.1).",
207
+ "type": [
208
+ "integer",
209
+ "null"
210
+ ],
211
+ "format": "uint32",
212
+ "minimum": 0.0
213
+ },
214
+ "maxLength": {
215
+ "description": "The `maxLength` keyword.\n\nSee [JSON Schema Validation 6.3.1. \"maxLength\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.1).",
216
+ "type": [
217
+ "integer",
218
+ "null"
219
+ ],
220
+ "format": "uint32",
221
+ "minimum": 0.0
222
+ },
223
+ "maxProperties": {
224
+ "description": "The `maxProperties` keyword.\n\nSee [JSON Schema Validation 6.5.1. \"maxProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.1).",
225
+ "type": [
226
+ "integer",
227
+ "null"
228
+ ],
229
+ "format": "uint32",
230
+ "minimum": 0.0
231
+ },
232
+ "maximum": {
233
+ "description": "The `maximum` keyword.\n\nSee [JSON Schema Validation 6.2.2. \"maximum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.2).",
234
+ "type": [
235
+ "number",
236
+ "null"
237
+ ],
238
+ "format": "double"
239
+ },
240
+ "minItems": {
241
+ "description": "The `minItems` keyword.\n\nSee [JSON Schema Validation 6.4.2. \"minItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.2).",
242
+ "type": [
243
+ "integer",
244
+ "null"
245
+ ],
246
+ "format": "uint32",
247
+ "minimum": 0.0
248
+ },
249
+ "minLength": {
250
+ "description": "The `minLength` keyword.\n\nSee [JSON Schema Validation 6.3.2. \"minLength\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.2).",
251
+ "type": [
252
+ "integer",
253
+ "null"
254
+ ],
255
+ "format": "uint32",
256
+ "minimum": 0.0
257
+ },
258
+ "minProperties": {
259
+ "description": "The `minProperties` keyword.\n\nSee [JSON Schema Validation 6.5.2. \"minProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.2).",
260
+ "type": [
261
+ "integer",
262
+ "null"
263
+ ],
264
+ "format": "uint32",
265
+ "minimum": 0.0
266
+ },
267
+ "minimum": {
268
+ "description": "The `minimum` keyword.\n\nSee [JSON Schema Validation 6.2.4. \"minimum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.4).",
269
+ "type": [
270
+ "number",
271
+ "null"
272
+ ],
273
+ "format": "double"
274
+ },
275
+ "multipleOf": {
276
+ "description": "The `multipleOf` keyword.\n\nSee [JSON Schema Validation 6.2.1. \"multipleOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.1).",
277
+ "type": [
278
+ "number",
279
+ "null"
280
+ ],
281
+ "format": "double"
282
+ },
283
+ "not": {
284
+ "description": "The `not` keyword.\n\nSee [JSON Schema 9.2.1.4. \"not\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.4).",
285
+ "anyOf": [
286
+ {
287
+ "$ref": "#/definitions/Schema"
288
+ },
289
+ {
290
+ "type": "null"
291
+ }
292
+ ]
293
+ },
294
+ "oneOf": {
295
+ "description": "The `oneOf` keyword.\n\nSee [JSON Schema 9.2.1.3. \"oneOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.3).",
296
+ "type": [
297
+ "array",
298
+ "null"
299
+ ],
300
+ "items": {
301
+ "$ref": "#/definitions/Schema"
302
+ }
303
+ },
304
+ "pattern": {
305
+ "description": "The `pattern` keyword.\n\nSee [JSON Schema Validation 6.3.3. \"pattern\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.3).",
306
+ "type": [
307
+ "string",
308
+ "null"
309
+ ]
310
+ },
311
+ "patternProperties": {
312
+ "description": "The `patternProperties` keyword.\n\nSee [JSON Schema 9.3.2.2. \"patternProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.2).",
313
+ "type": "object",
314
+ "additionalProperties": {
315
+ "$ref": "#/definitions/Schema"
316
+ }
317
+ },
318
+ "properties": {
319
+ "description": "The `properties` keyword.\n\nSee [JSON Schema 9.3.2.1. \"properties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.1).",
320
+ "type": "object",
321
+ "additionalProperties": {
322
+ "$ref": "#/definitions/Schema"
323
+ }
324
+ },
325
+ "propertyNames": {
326
+ "description": "The `propertyNames` keyword.\n\nSee [JSON Schema 9.3.2.5. \"propertyNames\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.5).",
327
+ "anyOf": [
328
+ {
329
+ "$ref": "#/definitions/Schema"
330
+ },
331
+ {
332
+ "type": "null"
333
+ }
334
+ ]
335
+ },
336
+ "readOnly": {
337
+ "description": "The `readOnly` keyword.\n\nSee [JSON Schema Validation 9.4. \"readOnly\" and \"writeOnly\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.4).",
338
+ "type": "boolean"
339
+ },
340
+ "required": {
341
+ "description": "The `required` keyword.\n\nSee [JSON Schema Validation 6.5.3. \"required\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.3).",
342
+ "type": "array",
343
+ "items": {
344
+ "type": "string"
345
+ },
346
+ "uniqueItems": true
347
+ },
348
+ "then": {
349
+ "description": "The `then` keyword.\n\nSee [JSON Schema 9.2.2.2. \"then\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.2).",
350
+ "anyOf": [
351
+ {
352
+ "$ref": "#/definitions/Schema"
353
+ },
354
+ {
355
+ "type": "null"
356
+ }
357
+ ]
358
+ },
359
+ "title": {
360
+ "description": "The `title` keyword.\n\nSee [JSON Schema Validation 9.1. \"title\" and \"description\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.1).",
361
+ "type": [
362
+ "string",
363
+ "null"
364
+ ]
365
+ },
366
+ "type": {
367
+ "description": "The `type` keyword.\n\nSee [JSON Schema Validation 6.1.1. \"type\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.1) and [JSON Schema 4.2.1. Instance Data Model](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-4.2.1).",
368
+ "anyOf": [
369
+ {
370
+ "$ref": "#/definitions/SingleOrVec_for_InstanceType"
371
+ },
372
+ {
373
+ "type": "null"
374
+ }
375
+ ]
376
+ },
377
+ "uniqueItems": {
378
+ "description": "The `uniqueItems` keyword.\n\nSee [JSON Schema Validation 6.4.3. \"uniqueItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.3).",
379
+ "type": [
380
+ "boolean",
381
+ "null"
382
+ ]
383
+ },
384
+ "writeOnly": {
385
+ "description": "The `writeOnly` keyword.\n\nSee [JSON Schema Validation 9.4. \"readOnly\" and \"writeOnly\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.4).",
386
+ "type": "boolean"
387
+ }
388
+ },
389
+ "additionalProperties": true
390
+ },
391
+ "SemanticDimension": {
392
+ "description": "A JSON Schema object.",
393
+ "type": "object",
394
+ "required": [
395
+ "name",
396
+ "targets"
397
+ ],
398
+ "properties": {
399
+ "$id": {
400
+ "description": "The `$id` keyword.\n\nSee [JSON Schema 8.2.2. The \"$id\" Keyword](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-8.2.2).",
401
+ "type": [
402
+ "string",
403
+ "null"
404
+ ]
405
+ },
406
+ "$ref": {
407
+ "description": "The `$ref` keyword.\n\nSee [JSON Schema 8.2.4.1. Direct References with \"$ref\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-8.2.4.1).",
408
+ "type": [
409
+ "string",
410
+ "null"
411
+ ]
412
+ },
413
+ "additionalItems": {
414
+ "description": "The `additionalItems` keyword.\n\nSee [JSON Schema 9.3.1.2. \"additionalItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.2).",
415
+ "anyOf": [
416
+ {
417
+ "$ref": "#/definitions/Schema"
418
+ },
419
+ {
420
+ "type": "null"
421
+ }
422
+ ]
423
+ },
424
+ "additionalProperties": {
425
+ "description": "The `additionalProperties` keyword.\n\nSee [JSON Schema 9.3.2.3. \"additionalProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.3).",
426
+ "anyOf": [
427
+ {
428
+ "$ref": "#/definitions/Schema"
429
+ },
430
+ {
431
+ "type": "null"
432
+ }
433
+ ]
434
+ },
435
+ "allOf": {
436
+ "description": "The `allOf` keyword.\n\nSee [JSON Schema 9.2.1.1. \"allOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.1).",
437
+ "type": [
438
+ "array",
439
+ "null"
440
+ ],
441
+ "items": {
442
+ "$ref": "#/definitions/Schema"
443
+ }
444
+ },
445
+ "anyOf": {
446
+ "description": "The `anyOf` keyword.\n\nSee [JSON Schema 9.2.1.2. \"anyOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.2).",
447
+ "type": [
448
+ "array",
449
+ "null"
450
+ ],
451
+ "items": {
452
+ "$ref": "#/definitions/Schema"
453
+ }
454
+ },
455
+ "const": {
456
+ "description": "The `const` keyword.\n\nSee [JSON Schema Validation 6.1.3. \"const\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.3)"
457
+ },
458
+ "contains": {
459
+ "description": "The `contains` keyword.\n\nSee [JSON Schema 9.3.1.4. \"contains\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.4).",
460
+ "anyOf": [
461
+ {
462
+ "$ref": "#/definitions/Schema"
463
+ },
464
+ {
465
+ "type": "null"
466
+ }
467
+ ]
468
+ },
469
+ "default": {
470
+ "description": "The `default` keyword.\n\nSee [JSON Schema Validation 9.2. \"default\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.2)."
471
+ },
472
+ "deprecated": {
473
+ "description": "The `deprecated` keyword.\n\nSee [JSON Schema Validation 9.3. \"deprecated\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.3).",
474
+ "type": "boolean"
475
+ },
476
+ "description": {
477
+ "description": "The `description` keyword.\n\nSee [JSON Schema Validation 9.1. \"title\" and \"description\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.1).",
478
+ "type": [
479
+ "string",
480
+ "null"
481
+ ]
482
+ },
483
+ "else": {
484
+ "description": "The `else` keyword.\n\nSee [JSON Schema 9.2.2.3. \"else\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.3).",
485
+ "anyOf": [
486
+ {
487
+ "$ref": "#/definitions/Schema"
488
+ },
489
+ {
490
+ "type": "null"
491
+ }
492
+ ]
493
+ },
494
+ "enum": {
495
+ "description": "The `enum` keyword.\n\nSee [JSON Schema Validation 6.1.2. \"enum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.2)",
496
+ "type": [
497
+ "array",
498
+ "null"
499
+ ],
500
+ "items": true
501
+ },
502
+ "examples": {
503
+ "description": "The `examples` keyword.\n\nSee [JSON Schema Validation 9.5. \"examples\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.5).",
504
+ "type": "array",
505
+ "items": true
506
+ },
507
+ "exclusiveMaximum": {
508
+ "description": "The `exclusiveMaximum` keyword.\n\nSee [JSON Schema Validation 6.2.3. \"exclusiveMaximum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.3).",
509
+ "type": [
510
+ "number",
511
+ "null"
512
+ ],
513
+ "format": "double"
514
+ },
515
+ "exclusiveMinimum": {
516
+ "description": "The `exclusiveMinimum` keyword.\n\nSee [JSON Schema Validation 6.2.5. \"exclusiveMinimum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.5).",
517
+ "type": [
518
+ "number",
519
+ "null"
520
+ ],
521
+ "format": "double"
522
+ },
523
+ "format": {
524
+ "description": "The `format` keyword.\n\nSee [JSON Schema Validation 7. A Vocabulary for Semantic Content With \"format\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-7).",
525
+ "type": [
526
+ "string",
527
+ "null"
528
+ ]
529
+ },
530
+ "if": {
531
+ "description": "The `if` keyword.\n\nSee [JSON Schema 9.2.2.1. \"if\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.1).",
532
+ "anyOf": [
533
+ {
534
+ "$ref": "#/definitions/Schema"
535
+ },
536
+ {
537
+ "type": "null"
538
+ }
539
+ ]
540
+ },
541
+ "inherits_from": {
542
+ "type": [
543
+ "string",
544
+ "null"
545
+ ]
546
+ },
547
+ "items": {
548
+ "description": "The `items` keyword.\n\nSee [JSON Schema 9.3.1.1. \"items\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.1.1).",
549
+ "anyOf": [
550
+ {
551
+ "$ref": "#/definitions/SingleOrVec_for_Schema"
552
+ },
553
+ {
554
+ "type": "null"
555
+ }
556
+ ]
557
+ },
558
+ "maxItems": {
559
+ "description": "The `maxItems` keyword.\n\nSee [JSON Schema Validation 6.4.1. \"maxItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.1).",
560
+ "type": [
561
+ "integer",
562
+ "null"
563
+ ],
564
+ "format": "uint32",
565
+ "minimum": 0.0
566
+ },
567
+ "maxLength": {
568
+ "description": "The `maxLength` keyword.\n\nSee [JSON Schema Validation 6.3.1. \"maxLength\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.1).",
569
+ "type": [
570
+ "integer",
571
+ "null"
572
+ ],
573
+ "format": "uint32",
574
+ "minimum": 0.0
575
+ },
576
+ "maxProperties": {
577
+ "description": "The `maxProperties` keyword.\n\nSee [JSON Schema Validation 6.5.1. \"maxProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.1).",
578
+ "type": [
579
+ "integer",
580
+ "null"
581
+ ],
582
+ "format": "uint32",
583
+ "minimum": 0.0
584
+ },
585
+ "maximum": {
586
+ "description": "The `maximum` keyword.\n\nSee [JSON Schema Validation 6.2.2. \"maximum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.2).",
587
+ "type": [
588
+ "number",
589
+ "null"
590
+ ],
591
+ "format": "double"
592
+ },
593
+ "minItems": {
594
+ "description": "The `minItems` keyword.\n\nSee [JSON Schema Validation 6.4.2. \"minItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.2).",
595
+ "type": [
596
+ "integer",
597
+ "null"
598
+ ],
599
+ "format": "uint32",
600
+ "minimum": 0.0
601
+ },
602
+ "minLength": {
603
+ "description": "The `minLength` keyword.\n\nSee [JSON Schema Validation 6.3.2. \"minLength\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.2).",
604
+ "type": [
605
+ "integer",
606
+ "null"
607
+ ],
608
+ "format": "uint32",
609
+ "minimum": 0.0
610
+ },
611
+ "minProperties": {
612
+ "description": "The `minProperties` keyword.\n\nSee [JSON Schema Validation 6.5.2. \"minProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.2).",
613
+ "type": [
614
+ "integer",
615
+ "null"
616
+ ],
617
+ "format": "uint32",
618
+ "minimum": 0.0
619
+ },
620
+ "minimum": {
621
+ "description": "The `minimum` keyword.\n\nSee [JSON Schema Validation 6.2.4. \"minimum\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.4).",
622
+ "type": [
623
+ "number",
624
+ "null"
625
+ ],
626
+ "format": "double"
627
+ },
628
+ "multipleOf": {
629
+ "description": "The `multipleOf` keyword.\n\nSee [JSON Schema Validation 6.2.1. \"multipleOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.2.1).",
630
+ "type": [
631
+ "number",
632
+ "null"
633
+ ],
634
+ "format": "double"
635
+ },
636
+ "name": {
637
+ "type": "string"
638
+ },
639
+ "not": {
640
+ "description": "The `not` keyword.\n\nSee [JSON Schema 9.2.1.4. \"not\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.4).",
641
+ "anyOf": [
642
+ {
643
+ "$ref": "#/definitions/Schema"
644
+ },
645
+ {
646
+ "type": "null"
647
+ }
648
+ ]
649
+ },
650
+ "oneOf": {
651
+ "description": "The `oneOf` keyword.\n\nSee [JSON Schema 9.2.1.3. \"oneOf\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.1.3).",
652
+ "type": [
653
+ "array",
654
+ "null"
655
+ ],
656
+ "items": {
657
+ "$ref": "#/definitions/Schema"
658
+ }
659
+ },
660
+ "pattern": {
661
+ "description": "The `pattern` keyword.\n\nSee [JSON Schema Validation 6.3.3. \"pattern\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.3.3).",
662
+ "type": [
663
+ "string",
664
+ "null"
665
+ ]
666
+ },
667
+ "patternProperties": {
668
+ "description": "The `patternProperties` keyword.\n\nSee [JSON Schema 9.3.2.2. \"patternProperties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.2).",
669
+ "type": "object",
670
+ "additionalProperties": {
671
+ "$ref": "#/definitions/Schema"
672
+ }
673
+ },
674
+ "properties": {
675
+ "description": "The `properties` keyword.\n\nSee [JSON Schema 9.3.2.1. \"properties\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.1).",
676
+ "type": "object",
677
+ "additionalProperties": {
678
+ "$ref": "#/definitions/Schema"
679
+ }
680
+ },
681
+ "propertyNames": {
682
+ "description": "The `propertyNames` keyword.\n\nSee [JSON Schema 9.3.2.5. \"propertyNames\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.3.2.5).",
683
+ "anyOf": [
684
+ {
685
+ "$ref": "#/definitions/Schema"
686
+ },
687
+ {
688
+ "type": "null"
689
+ }
690
+ ]
691
+ },
692
+ "readOnly": {
693
+ "description": "The `readOnly` keyword.\n\nSee [JSON Schema Validation 9.4. \"readOnly\" and \"writeOnly\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.4).",
694
+ "type": "boolean"
695
+ },
696
+ "required": {
697
+ "description": "The `required` keyword.\n\nSee [JSON Schema Validation 6.5.3. \"required\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.5.3).",
698
+ "type": "array",
699
+ "items": {
700
+ "type": "string"
701
+ },
702
+ "uniqueItems": true
703
+ },
704
+ "targets": {
705
+ "type": "array",
706
+ "items": {
707
+ "type": "string"
708
+ }
709
+ },
710
+ "then": {
711
+ "description": "The `then` keyword.\n\nSee [JSON Schema 9.2.2.2. \"then\"](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-9.2.2.2).",
712
+ "anyOf": [
713
+ {
714
+ "$ref": "#/definitions/Schema"
715
+ },
716
+ {
717
+ "type": "null"
718
+ }
719
+ ]
720
+ },
721
+ "title": {
722
+ "description": "The `title` keyword.\n\nSee [JSON Schema Validation 9.1. \"title\" and \"description\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.1).",
723
+ "type": [
724
+ "string",
725
+ "null"
726
+ ]
727
+ },
728
+ "type": {
729
+ "description": "The `type` keyword.\n\nSee [JSON Schema Validation 6.1.1. \"type\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.1.1) and [JSON Schema 4.2.1. Instance Data Model](https://tools.ietf.org/html/draft-handrews-json-schema-02#section-4.2.1).",
730
+ "anyOf": [
731
+ {
732
+ "$ref": "#/definitions/SingleOrVec_for_InstanceType"
733
+ },
734
+ {
735
+ "type": "null"
736
+ }
737
+ ]
738
+ },
739
+ "uniqueItems": {
740
+ "description": "The `uniqueItems` keyword.\n\nSee [JSON Schema Validation 6.4.3. \"uniqueItems\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-6.4.3).",
741
+ "type": [
742
+ "boolean",
743
+ "null"
744
+ ]
745
+ },
746
+ "writeOnly": {
747
+ "description": "The `writeOnly` keyword.\n\nSee [JSON Schema Validation 9.4. \"readOnly\" and \"writeOnly\"](https://tools.ietf.org/html/draft-handrews-json-schema-validation-02#section-9.4).",
748
+ "type": "boolean"
749
+ }
750
+ },
751
+ "additionalProperties": true
752
+ },
753
+ "SingleOrVec_for_InstanceType": {
754
+ "description": "A type which can be serialized as a single item, or multiple items.\n\nIn some contexts, a `Single` may be semantically distinct from a `Vec` containing only item.",
755
+ "anyOf": [
756
+ {
757
+ "$ref": "#/definitions/InstanceType"
758
+ },
759
+ {
760
+ "type": "array",
761
+ "items": {
762
+ "$ref": "#/definitions/InstanceType"
763
+ }
764
+ }
765
+ ]
766
+ },
767
+ "SingleOrVec_for_Schema": {
768
+ "description": "A type which can be serialized as a single item, or multiple items.\n\nIn some contexts, a `Single` may be semantically distinct from a `Vec` containing only item.",
769
+ "anyOf": [
770
+ {
771
+ "$ref": "#/definitions/Schema"
772
+ },
773
+ {
774
+ "type": "array",
775
+ "items": {
776
+ "$ref": "#/definitions/Schema"
777
+ }
778
+ }
779
+ ]
780
+ }
781
+ }
782
+ }